web-dev-qa-db-ja.com

プライベートNugetフィードへのプッシュ資格情報のプロンプト

空の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: 
18
Noel

Windows Server2012およびNuget.Server2.8.5のソリューションが見つかりました

  • オープンIISマネージャー
  • 「Nuget.Server」アプリケーションを見つけます
  • 右クリックして「権限の編集」を選択します
  • [セキュリティ]タブに移動します

グループ「Everyone」に「書き込み」権限を追加します。

9
proforov

これは私にとってはうまくいきました:サイト>認証> Windows認証を有効にし(デフォルトでは匿名のみでした)、プッシュはユーザー入力なしでドメインアカウントを使用します。

1
npjohns

APIキーは、パッケージをアップロード/プッシュするためのものです。 httpプロキシが有効になっているようで、nuget.execonfigコマンドを呼び出してユーザー名とパスワードを設定できます。

いくつかの例:

nuget config -Set HTTP_PROXY = http://*。*。-HTTP_PROXY.USER = domain\userを設定します

nuget.config HTTP_PROXY

http://docs.nuget.org/docs/reference/command-line-reference

1
Dan Liu

私もこの問題を抱えていて、以前はそれが機能することを知っていました。NuGet.exe2.8.1を使用してアップグレードしていたことがわかりました。

NuGet.exe update -self 

2.8.3になり、正常に動作するようになりました。

0
John Kattenhorn

また、どのバージョンのNuGet.Serverパッケージを使用しましたか? NuGetはすでに2.7.2バージョンをリリースしています。

Null ref例外がまだ再現されるかどうかを試してみることができますか?ありがとう。

0
Dan Liu

コマンドラインからプッシュするために必要なワークステーションやビルドサーバーで資格情報を構成する方法について説明しているので、 this SO answer 役立つかもしれません。認証が必要なサーバー(プライベートフィードなど)へ。

公開するのにAPIキーは必要ありません。

0
Shaun Wilson