我的解决方案已配置为“还原包”,但其中一个项目无法构建:-
3>C:\Builds\1\xxxxx\xxxx.csproj(223,5): error : 此项目引用了在此计算机上缺失的NuGet包。启用NuGet包还原以下载它们。有关更多信息,请参见http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是..\packages\System.Data.SQLite.Core.1.0.97.0\build\net45\System.Data.SQLite.Core.targets。
上面的错误可能是个误导,因为它出现在包还原之前,即
2> RestorePackages: 正在还原NuGet包...
在有问题的项目的.csproj文件末尾附近有这个部分,似乎生成了上述错误:-
3>C:\Builds\1\xxxxx\xxxx.csproj(223,5): error : 此项目引用了在此计算机上缺失的NuGet包。启用NuGet包还原以下载它们。有关更多信息,请参见http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是..\packages\System.Data.SQLite.Core.1.0.97.0\build\net45\System.Data.SQLite.Core.targets。
上面的错误可能是个误导,因为它出现在包还原之前,即
2> RestorePackages: 正在还原NuGet包...
在有问题的项目的.csproj文件末尾附近有这个部分,似乎生成了上述错误:-
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
<Import Project="..\packages\System.Data.SQLite.Core.1.0.97.0\build\net45\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.97.0\build\net45\System.Data.SQLite.Core.targets')" />
<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('..\packages\System.Data.SQLite.Core.1.0.97.0\build\net45\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.97.0\build\net45\System.Data.SQLite.Core.targets'))" />
</Target>
发生了什么?我是否正确地假设在解决方案的软件包恢复之前就进行了此检查(因此失败了)?我该如何解决这个问题?
在解决方案中的其他项目(不引用SQLite核心包的项目)可以成功恢复其软件包,并构建成功。