我有一个主要在 Visual Studio 2012 中开发的解决方案。我想在 MonoDevelop 中开发而没有重大不兼容性。
到目前为止,我已经为 MonoDevelop 安装了 mrward 的 nuget 插件,如果我通过该界面手动添加 packages.config 中的每个包,一切正常。然而,这是非常繁重的。在撰写本文时,此插件不支持自动包还原。
我从 CodePlex 下载了 nuget.exe(“NuGet 命令行实用程序”,因为它的标签)。我使用一个简单的 find/xargs 组合来安装所有必需的包:
find . -name packages.config | xargs -I '{}' mono nuget.exe install '{}'
这会在运行它的目录中创建几十个目录,而不是像预期的那样将东西放在 packages/ 下,并且它也不会触及项目文件,因此 MonoDevelop 仍然认为它应该在目录中查找包引用MonoDevelop 已启动。
因此,我从包含所有这些包文件夹的工作目录中打开了 MonoDevelop,但我仍然得到无效的引用。我认为这可能是因为该项目正在寻找 package_name/ 参考,但工作目录中的文件夹名称为 package_name.version/。
对于与此解决方案进行交互的理智、简单的方法有什么建议吗?接下来我将尝试修改我的 shell 命令,以便它自动下降到项目/包并从该目录运行 nuget。