抱怨没有为Nuget启用包恢复,即使是这种情况

时间:2014-07-21 06:26:46

标签: visual-studio-2012 nuget

我有一个解决方案,其中一个项目一直给我这个问题:

  

此项目引用了缺少的NuGet包   电脑。启用NuGet Package Restore以下载它们。更多   信息,请参阅http://go.microsoft.com/fwlink/?LinkID=317567

问题与this基本相同,我已启用了程序包还原功能,但我一直遇到问题。我试图删除.nuget文件夹,清理缓存,删除包,清理解决方案和重建,但没有任何帮助。

在执行我刚刚描述的步骤时,我可以看到我将包下载到packages文件夹,但显然一个项目仍然存在问题。我似乎无法在项目中看到任何遗漏的引用。

我使用的是Visual Studio 2012更新4,Nuget是最新版本(2.8.5)。

1 个答案:

答案 0 :(得分:1)

我会使用文本编辑器查看您的项目文件(.csproj)。我猜是有一个MSBuild目标是从你不再使用的旧NuGet包中引用的。

在下面的示例中,从项目文件中获取,如果安装了不同版本的Xamarin.Forms而不是1.0.6188,即使恢复了所有NuGet包,您也会看到类似的错误。出现该消息是因为条件检查自定义MSBuild目标文件是否存在,如果缺少则显示错误。

<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\Xamarin.Forms.1.0.6188\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.1.0.6188\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10\Xamarin.Forms.targets'))" /> </Target>