私のcsprojファイルのいくつかにはこれがありますが、持っていないものもあります。
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.Microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
これは正確には何で、なぜ必要なのですか?私の他のプロジェクトはパッケージを問題なく復元していますそれなしで。
VS2013とNuGet2.8を使用しています。
これにより、インポートされた.propsファイルと.targetsファイルが実際にインポートされます。 NuGetは、 2.5 以降、NuGetMSBuildのサポートをサポートしています。 PreventNuGetPackageBuildImportsコードは9月に追加されましたが、2.8の変更だと思います。残念ながら、下位互換性のない変更のようです。 2.7には、2.8にアップグレードする必要のある開発者がいます。私はEnsureNuGetPackageBuildImportsをCommon/ MsBuildProjectUtility.cs on line 11 に見つけました。