Visual Studio 2008的NuGet支持
[原文发表地址]NuGet Support for Visual Studio 2008
[原文发表时间]2011-08-10 15:05
好吧,不完全是。标题更好点的话应该是“如何用外部工具和Prayer组装起Visual Studio 2008的NuGet支持”。关键在于,许多使用Visual Studio 2008的同仁们都希望有NuGet的支持。我全力探索这个领域,发现有很多方法可以实现,有些很困难,而有些则相对简单些。想法应该是用最少的精力来完成最多的事情。如果社区中有同仁认为这个很重要,并愿意去实现它的话,我会非常高兴的。当然,最简单的莫过于使用2010,因为它还支持.NET 2.0,3.0,3.5和4,但是不是每个人都能升级的。
有些人可以:
l 将现有的NuGet包引用对话框反向至2008,使用那个版本的本地扩展(不是VsiX)
l 为nuget.exe命令行创建MEF(管理扩展性框架)插件,以在vbproj或者csproj中更新相关内容
l 使用PowerShell脚本,批处理文件,使最基础的东西运行(获取包,更新相关内容)。
² 也许可以写个垫片来使DTE自动运行
但那只是一种可能性和猜测。我们来讨论看看MacGyver的解决方案。
运行Visual Studio 2008,找到 工具|外部工具。
用下列值生成新的工具:
l 标题:NuGet安装
l 命令(我假设这存在于路径中):nuget.exe
l 参数:安装 your.package.name-excludeversion-outputDirectory.\Packages
l 初始目录:$(SolutionDir)
l 使用输出窗口:Checked
l 参数提示:Checked
下一步,在工具栏区域右击,创建一个新的工具条命名为NuGet。从命令中,拉出正确的 工具|外部工具 按钮。右击,用作设计:
现在,当你点击安装包时,你可以更改your.package.name,随你喜欢,然后点击确定。注意下面操控窗口的输出。
此时,由于我们只是集成了命令行,所以你不能得到自动添加的引用。那么包又在哪里呢?好吧,它们在这儿,在Packages目录中。要不要添加引用取决于你,只要你觉得适合就好(我在这儿再次提醒你参阅上述的列表)。
如果你觉得很新奇,你还可以在工具栏中添加一些宏和链接,让你方便前往NuGet网站去搜索。这里提供一个Visual Studio 2008宏,将启动默认web浏览器并带你前往https://www.nuget.org/List/Packages。
1: Public Module NuGet
2: Sub LaunchNuGetSite()
3: Dim p As New System.Diagnostics.Process()
4: p.Start("https://www.nuget.org/List/Packages")
5: End Sub
6: End Module
然后为那些外加的按钮做工具栏按钮,就像这个引导至NuGet站点搜索的按钮一样。
亲爱的读者们,你们是怎么想的呢?