MSBuildをコマンドライン経由で実行しようとしていますが、/ t:restoreスイッチを使用してNuGetパッケージを復元することはできません(文書番号here.)。このソリューションは、かなり単純なASP.NET MVCアプリケーションとMSTestプロジェクトです。ローカルのdevフォルダーまたはビルドサーバーから復元フラグを実行すると、パッケージ、obj、およびbinフォルダーを削除しても復元されるNuGetパッケージはありません。MSBuild 15.1/NuGet 4はパッケージを復元しません。
hereと記載されているように自動ダウンロードを有効にしました。 Studioでプロジェクトを開いてビルドすると、パッケージは期待どおりに復元されます。これは、MSBuildが使用されている場合にのみ失敗します。
これはすべて最新のパッチレベルでVisual Studio 2017で行われています。ビルドマシンにはProfessional、私のマシンにはEnterpriseがあります。両方とも同じ動作をします。
MSBuild 15.1を使用してNuGetパッケージを復元するMSBuildは誰ですか?
C:\Users\me\Documents\Visual Studio 2017\Projects\cmbs-admin>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe" /t:Restore
Microsoft (R) Build Engine version 15.1.1012.6693
Copyright (C) Microsoft Corporation. All rights reserved.
Building the projects in this solution one at a time. To enable parallel build, please add the "/m"switch.
Build started 6/22/2017 2:01:57 PM.
Project "C:\Users\me\Documents\Visual Studio 2017\Projects\MyProject\MyProject.sln" on node
1 (Restore target(s)).
ValidateSolutionConfiguration:
Building solution configuration "Debug|Any CPU".
Restore:
Restoring packages for C:\Users\me\Documents\Visual Studio 2017\Projects\MyProject\MyProject.Tests\MyProject.Tests.csproj...
Restoring packages for C:\Users\me\Documents\Visual Studio 2017\Projects\MyProject\MyProject\MyProject.csproj...
Committing restore...
Committing restore...
Lock file has not changed. Skipping lock file write. Path: C:\Users\me\Documents\Visual Studio 2017\Projects\MyProject\MyProject\obj\project.assets.json
Lock file has not changed. Skipping lock file write. Path: C:\Users\me\Documents\Visual Studio 2017\Projects\MyProject\MyProject.Tests\obj\project.assets.json
Restore completed in 350.01 ms for C:\Users\me\Documents\Visual Studio 2017\Projects\MyProject\MyProject\MyProject.csproj.
Restore completed in 349.87 ms for C:\Users\me\Documents\Visual Studio 2017\Projects\MyProject\MyProject.Tests\MyProject.Tests.csproj.
NuGet Config files used:
C:\Users\me\AppData\Roaming\NuGet\NuGet.Config
C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config
Feeds used:
https://api.nuget.org/v3/index.json
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
Done Building Project "C:\Users\me\Documents\Visual Studio 2017\Projects\MyProject\MyProject.sln" (Restore target(s)).
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:01.18
C:\Users\me\Documents\Visual Studio 2017\Projects\MyProject>
どのようなプロジェクトを復元しようとしていますか? 'NuGet.exe restore'は、非.NETコアプロジェクトのオプションです。 –
伝統的なCSPROJベースのプロジェクトです。あなたはNuget.exeがオプションかANオプションであると言っていますか? http://blog.nuget.org/20170316/NuGet-nowfullyfullyintegrated-into-MSBuild.html –
参照の代わりにPackageReference構文を使用するようにCSPROJを変更すると、これがわかりました(前回のリンクに記載されています)。コメント)を実行することができます。これはMVB Web App CSPROJテンプレートの問題であり、MSBuildでは問題ではないようです。 –