在OSX / Linux上的MonoDevelop中进行NuGet包恢复

时间:2013-04-20 08:13:47

标签: xamarin nuget monodevelop

我正在尝试使用MonoDevelop下的NuGet包恢复编译Visual Studio项目,但它不是开箱即用的。

NuGet应该在Mono上运行,甚至还有nuget.targets内置的支持,那么缺少什么?

1 个答案:

答案 0 :(得分:12)

根据此处跟踪的问题:https://nuget.codeplex.com/workitem/3278

  1. 您必须将xbuild与所有应在构建时恢复包的项目一起使用。 MonoDevelop->偏好设置 - >构建Enable xbuild in MonoDevelop or Xamarin Studio
  2. Unix文件系统区分大小写。这会破坏nuget.targets,因为假定文件中的大小写都是小写的,而添加到.nuget文件夹中的解决方案的文件就像“NuGet”一样。修复nuget.targets或将解决方案.nuget文件夹中的文件名更改为全部小写。
  3. 默认情况下,nuget.targets中的RequireRestoreConsent为true。编辑nuget.targets并将其更改为false。
  4. 包恢复将包文件夹放在奇怪的位置$(SolutionDir)/ /packages(是的,中间有一个空白文件夹)。原因是$(SolutionDir)<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(RequireConsentSwitch) -solutionDir "$(SolutionDir) "</RestoreCommand>之后的nuget.targets中有一个尾随空格