在 VS 2010 项目模板中自动安装 NuGet 包

Posted

技术标签:

【中文标题】在 VS 2010 项目模板中自动安装 NuGet 包【英文标题】:Install NuGet packages automatically in VS 2010 project template 【发布时间】:2011-12-16 18:56:08 【问题描述】:

当我在 Visual Studio 2010 中基于我的自定义项目模板创建新项目时,谁能与我分享如何(或在哪里可以找到如何)自动安装 NuGet 包?

我正在为一个默认使用几个 NuGet 包的项目创建一个新的项目模板。我已阅读 NuGet 站点上的文档,但这是不可接受的,因为如果项目中已经安装了现有包,我想引用它。

换句话说,如果我在我的模板 (VSIX) 中嵌入了包 v1,但解决方案中已经安装了 1.1 版,我希望 NuGet 引用 1.1 版,而不是将 v1 放入解决方案并强制开发人员更新包。

这可能吗?如果有,怎么做?

【问题讨论】:

【参考方案1】:

NuGet 1.5 现在支持此功能,无需您构建 ASP.NET MVC 3 项目模板。

http://blogs.msdn.com/b/marcinon/archive/2011/07/08/project-templates-and-preinstalled-nuget-packages.aspx

这取代了我写的帖子。 :)

【讨论】:

但是如果我再次正确阅读,我们必须将包嵌入到项目模板中。有没有办法触发下载以便我们获得最新版本的软件包?如果我们正在创建新包的解决方案中已经存在包的版本,也不清楚会发生什么 - 项目模板会识别它吗?如果解决方案已经安装了更新版本的软件包怎么办?【参考方案2】:

在这里查看这篇文章:

http://haacked.com/archive/2011/06/06/creating-a-custom-asp-net-mvc-project-template.aspx

文章提到 NuGet 包需要在你的机器上,但是这应该在未来改变(如果还没有的话)。

【讨论】:

你失去了我。我不确定 SharpDevelop 的链接如何转化为我关于 Visual Studio 2010 的问题。 哇,阅读失败!没关系,我最终找到了 Phil Haack 的文章 - 查看更新的答案 :-)

以上是关于在 VS 2010 项目模板中自动安装 NuGet 包的主要内容,如果未能解决你的问题,请参考以下文章

VS2010 使用 EF5 框架步骤

VS NuGet加载本地程序包

Nuget 在VS中操作命令

创建一个从在线提要中提取 NuGet 引用的 Visual Studio 项目模板

使用VS2010的Database 项目模板统一管理数据库对象

VS(Visual Studio)中Nuget的使用