我有一个解决方案,其中一个项目一直给我这个问题:
此项目引用了缺少的NuGet包 电脑。启用NuGet Package Restore以下载它们。更多 信息,请参阅http://go.microsoft.com/fwlink/?LinkID=317567。
问题与this基本相同,我已启用了程序包还原功能,但我一直遇到问题。我试图删除.nuget文件夹,清理缓存,删除包,清理解决方案和重建,但没有任何帮助。
在执行我刚刚描述的步骤时,我可以看到我将包下载到packages文件夹,但显然一个项目仍然存在问题。我似乎无法在项目中看到任何遗漏的引用。
我使用的是Visual Studio 2012更新4,Nuget是最新版本(2.8.5)。
答案 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>