使用MonoDevelop时,处理特定版本库的最佳方法是什么(准确地说 - 使用ServiceStack v3而不是ServiceStack v4)?
不幸的是,MonoDevelop的addin NuGet不允许指定包版本(没有包管理控制台支持)。我已经尝试在.csproj和package.config文件中进行黑客攻击,但它不能完全正常工作,它似乎是一个很难解决的问题。
一个明显的解决方案是在手动下载之后在本地删除NuGet和引用库。
你会如何解决这个问题?
感谢所有回复:)
答案 0 :(得分:2)
能够使用MonoDevelop插件添加特定版本的NuGet包在todo列表中。
如果您有权访问Windows,则可以使用SharpDevelop使用其Package Management控制台添加特定版本。
或者如您所建议的那样,编辑packages.config文件,然后还原包。但是,您需要手动添加所需的程序集引用。如果没有那么多的程序集引用并且您不会经常更新NuGet包,那么这个选项并不是那么糟糕。虽然这种方法比下载NuGet包,提取它和直接引用程序集的好处等同且工作量相同。通过这种方式,您可以通过简单地将新二进制文件放入lib文件夹来更轻松地更新引用。
或者您可以更改插件的源代码。我考虑添加一个简单的文本框,您可以在其中指定特定版本。理想情况下,对话框会为您提供可用版本的列表。
我可能只需下载您需要的ServiceStack程序集并直接引用它们。