空のWebアプリケーションとnugetサーバーパッケージを使用して、プライベートnugetフィードを設定しました。すべて機能しており、フィードから取得でき、Nuget PackageExplorerを使用してプライベートフィードに公開できます。しかし、コマンドラインから公開することはできません。資格情報の入力を求められます。 AppsettingsのWebアプリケーションでApiKeyを単純なパスワードに設定し、ApiKeyをPushコマンドに追加してみました。これにより、ユーザー名とパスワードの入力を求められます。 SetApiKeyコマンドも試しましたが、同じ動作がします。ビルドサーバーで、同じことを同じ結果で試しています。
ビルドログからのエラーメッセージは次のとおりです(情報が削除されたことを識別します)
nuget pack "C:\Builds\2\OE Phase II\Common\src\WebApi\Web.Http\Bxxxxxxxs.Web.Http.csproj" -IncludeReferencedProjects -Properties Configuration=Release
nuget SetApiKey Bxxxxxxx1 -Source http://tfs12.xxxxxxxrps.com/Nuget
nuget Push *.nupkg -s http://tfs12.xxxxxxxrps.com/Nuget/
C:\Builds\2\OE Phase II\Common\bin\xxxxxxx.Web.Http.dll
1 File(s) copied
Attempting to build package from 'xxxxxxx.Web.Http.csproj'.
Packing files from 'C:\Builds\2\OE Phase II\Common\src\WebApi\Web.Http\bin\Release'.
Using 'xxxxxxxs.Web.Http.nuspec' for metadata.
Found packages.config. Using packages listed as dependencies
Successfully created package 'C:\Builds\2\OE Phase II\Common\bin\xxxxxxxs.Web.Http.1.0.0.0.nupkg'.
The API Key 'xxxxxxx' was saved for 'http://tfs12.xxxxxxxrps.com/Nuget'.
Pushing Bxxxxxxxrs.Data 1.0.0.0 to 'http://tfs12.xxxxxxxrps.com/Nuget/'...
Please provide credentials for: http://tfs12.xxxxxxxrps.com/Nuget/
Object reference not set to an instance of an object.
UserName: Password:
Windows Server2012およびNuget.Server2.8.5のソリューションが見つかりました
グループ「Everyone」に「書き込み」権限を追加します。
これは私にとってはうまくいきました:サイト>認証> Windows認証を有効にし(デフォルトでは匿名のみでした)、プッシュはユーザー入力なしでドメインアカウントを使用します。
APIキーは、パッケージをアップロード/プッシュするためのものです。 httpプロキシが有効になっているようで、nuget.execonfigコマンドを呼び出してユーザー名とパスワードを設定できます。
いくつかの例:
nuget config -Set HTTP_PROXY = http://*。*。。-HTTP_PROXY.USER = domain\userを設定します
nuget.config HTTP_PROXY
私もこの問題を抱えていて、以前はそれが機能することを知っていました。NuGet.exe2.8.1を使用してアップグレードしていたことがわかりました。
NuGet.exe update -self
2.8.3になり、正常に動作するようになりました。
また、どのバージョンのNuGet.Serverパッケージを使用しましたか? NuGetはすでに2.7.2バージョンをリリースしています。
Null ref例外がまだ再現されるかどうかを試してみることができますか?ありがとう。
コマンドラインからプッシュするために必要なワークステーションやビルドサーバーで資格情報を構成する方法について説明しているので、 this SO answer 役立つかもしれません。認証が必要なサーバー(プライベートフィードなど)へ。
公開するのにAPIキーは必要ありません。