【发布时间】:2014-05-26 20:52:48
【问题描述】:
我在 Visual Studio 下为我的项目启用了自动恢复功能,但是当我切换到 MAC 和 Xamarin Studio 时,我无法恢复这些包:
xxx.csproj:错误:此项目引用了此计算机上缺少的 NuGet 包。启用 NuGet 包还原以下载它们
【问题讨论】:
标签: xamarin nuget xamarin-studio nuget-package-restore
我在 Visual Studio 下为我的项目启用了自动恢复功能,但是当我切换到 MAC 和 Xamarin Studio 时,我无法恢复这些包:
xxx.csproj:错误:此项目引用了此计算机上缺少的 NuGet 包。启用 NuGet 包还原以下载它们
【问题讨论】:
标签: xamarin nuget xamarin-studio nuget-package-restore
通过启用的自动恢复功能,我假设您指的是基于 MSBuild 的恢复,它将 NuGet.targets 文件添加到您的项目中。
该特定错误来自 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('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
错误情况表明它找不到 .nuget\NuGet.targets 文件。那么这存在吗?路径的大小写是否完全匹配?
另请注意,Mac 上的 NuGet.targets 文件存在问题,因为它使用了 Mono 不支持的 MSBuild 功能。 codeplex 提供的最新 NuGet.targets 文件可能会解决此问题。
删除基于 MSBuild 的包还原并安装 NuGet addin for Xamarin Studio 并使用 Xamarin Studio 内部的包还原功能可能更容易。要从 Xamarin Studio 中恢复,您可以右键单击项目并选择恢复包。
【讨论】:
您也可以通过右键单击解决方案并在 Xamarin-Studio 中选择恢复包来手动恢复或视觉工作室。
【讨论】: