如何在Mac OS X的Xamarin Studio中启用Nuget软件包还原

6
我在Visual Studio中为我的项目启用了自动还原功能,但当我切换到MAC和Xamarin Studio时,我无法恢复这些包:
xxx.csproj: 错误:该项目引用了在此计算机上缺失的NuGet包。启用NuGet包还原以下载它们。
2个回答

4

我假设你所说的“启用自动还原功能”是指基于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 使用了 MSBuild 的一个不受 Mono 支持的功能,因此 NuGet.targets 文件存在问题。从 codeplex 获取的最新 NuGet.targets 文件可能会解决此问题。
删除基于 MSBuild 的软件包还原可能更容易,并安装 Xamarin Studio 的 NuGet 插件,并使用 Xamarin Studio 中的软件包还原功能。要从 Xamarin Studio 中还原,请右键单击项目,然后选择还原软件包。

我正在使用Visual Studio(开发代码)和Xamarin Studio(在MAC下)来开发xib界面,它们都使用同一个GIT存储库。我没有将nuget包保存在GIT存储库中,并且希望在Visual Studio中添加一些引用后,能够自动还原到Xamarin Studio(MAC)中。 - Mando
@Matt Ward:这是哪一个 MSBuild 功能?如果不太困难,也许我们可以实现它。如果能够有一些命令行版本的工作那就太棒了。 - Martin Baulig
@MartinBaulig - 我认为这是Choose元素的问题 - https://bugzilla.xamarin.com/show_bug.cgi?id=18106 - Matt Ward

0

您也可以通过在 Xamarin-Studio 或 Visual-Studio 中右键单击解决方案并选择还原包来手动还原。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接