9

我正在尝试在 MonoDevelop 下使用 NuGet 包还原编译 Visual Studio 项目,但它不能开箱即用。

NuGet 应该可以在 Mono 上运行,甚至在 nuget.targets 中内置了支持,那么缺少什么?

4

1 回答 1

12

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

  1. 您必须将 xbuild 与应在构建时恢复包的所有项目一起使用。MonoDevelop->首选项->构建在 MonoDevelop 或 Xamarin Studio 中启用 xbuild
  2. Unix 文件系统区分大小写。这会破坏 nuget.targets,因为文件内的大小写被假定为全部小写,而添加到 .nuget 文件夹中解决方案的文件的大小写类似于“NuGet”。修复 nuget.targets 或将解决方案 .nuget 文件夹中的文件名更改为全部小写。
  3. 在 nuget.targets 中,RequireRestoreConsent 默认为 true。编辑 nuget.targets 并将其更改为 false。
  4. 包还原将包文件夹放在一个奇怪的位置,$(SolutionDir)/ /packages(是的,两者之间有一个空白文件夹)。原因是 nuget.targets 在 after $(SolutionDir)in 中有一个尾随空格<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(RequireConsentSwitch) -solutionDir "$(SolutionDir) "</RestoreCommand>
于 2013-04-20T08:13:47.240 回答