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

Joh*_*lph 9 monodevelop nuget xamarin

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

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

Joh*_*lph 12

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

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