この問題は、特に自動ビルドにおけるVisualStudioチームサービスの継続的インテグレーション機能に関するものです。
.netコアMVCアプリケーションをビルドするためのビルド定義を設定しました。
.NET Core v1を使用し、.net Framework4.5.2に対してコンパイルしています。
私はここの指示に従いました:
https://www.visualstudio.com/en-us/docs/build/apps/aspnet/ci/build-aspnet-core
VSTSでプライベートNuGetフィードを設定しています。パッケージフィードソースを追加するコマンドは次のとおりです。
Sources Add -Name "CiiDLFeed" -UserName "<username>" -Password "<password>" -ConfigFile $(Build.SourcesDirectory)/Nuget.config -Source https://mycompany.pkgs.visualstudio.com/_packaging/DLFeed/nuget/v3/index.json
私が受け取っているエラー:
エラー:ソースhttps://mycompany.pkgs.visualstudio.com/_packaging/DLFeed/nuget/v3/index.jsonのサービスインデックスを読み込めません。エラー:パスワードの復号化は、このプラットフォームの.NETCoreではサポートされていません。次のフィードは暗号化されたパスワードを使用します: 'CiiDLFeed'。回避策として、クリアテキストのパスワードを使用できます。
これに応えて、NuGetソースの追加コマンドに「-StorePasswordInClearText」パラメーターを追加しました。
Sources Add -Name "CiiDLFeed" -UserName "<username>" -Password "<password>" -ConfigFile $(Build.SourcesDirectory)/Nuget.config -Source https://mycompany.pkgs.visualstudio.com/_packaging/DLFeed/nuget/v3/index.json -StorePasswordInClearText
今、私は401エラーを受け取ります:
エラー:ソースhttps://mycompany.pkgs.visualstudio.com/_packaging/DLFeed/nuget/v3/index.jsonのサービスインデックスを読み込めません。エラー:応答ステータスコードは成功を示していません:401(無許可)。
別のビルド定義で正しく機能するのとまったく同じ資格情報を使用して、同じnugetフィード(.NET Webフォームアプリ)にアクセスしているので、401が表示されないはずです。
また、プライベートフィードでNuGetパッケージの代わりにライブラリdllを参照することも試みましたが、.NETCoreでは不可能なようです。
.NETコアプロジェクトは、このリリースの.NETFrameworkアセンブリの参照のみをサポートします。他のアセンブリを参照するには、それらをNuGetパッケージに含めて、そのパッケージを参照する必要があります。
使用した回避策は、プロジェクト内のディレクトリであるローカルNuGetソースをセットアップすることです。次に、.nupkgファイルをそれに追加し、プロジェクトでそれらを参照します。
これにより、VSTS CIビルドは、リモートのNuGetソースを設定せずにNuGetパッケージにアクセスできます。
例えば:
project_directory/
... project files ...
my_nuget_repo/
mypackage.nupkg
ローカルソースを追加します。
nuget sources add -Name "my_nuget_repo" -Source "<path_to_project>/my_nuget_repo"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加