Visual Studio项目模板添加packages.config无需下载掘金
Visual Studio Project template add packages.config without downloading Nugets
我有 .vstemplate 文件,它引用了 Nuget,如下所示:
<WizardExtension>
<Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
<FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName>
</WizardExtension>
默认行为是 VisualStudio 将联机,获取所需的包,创建 packages.config 并将引用放在那里。但是如果离线,VisualStudio会抛出异常说他找不到包,不会创建package.config。
现在,是否可以覆盖该行为?无论 VisualStduio 是否能够下载包,我都想获取 packages.config 文件。
is it possible to override that behavior?
这个问题的答案是否定的。
我们知道packages.config,packages.config文件在某些项目类型中用于维护项目引用的包列表。如果我们将包安装到项目中,nuget 会自动将 packages.config 添加到项目中。如果您没有安装任何软件包,packages.config 将 而不是 添加。这是 nuget 的默认行为。就是这么设计的。
此外,据我所知,对于带有预装包的模板,要将预装包添加到您的项目模板中,您需要:
1. 编辑您的 vstemplate 文件并通过添加 WizardExtension 元素添加对 NuGet 模板向导的引用
2.在项目中添加要安装的包列表
没有覆盖 nuget 默认行为。因此,如果您想通过 Visua Studio 模板覆盖 nuget 默认行为是不可能的。
作为建议,你的问题是关于挑战nuget的设计,你可以在GitHub.
上提问。
我有 .vstemplate 文件,它引用了 Nuget,如下所示:
<WizardExtension>
<Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
<FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName>
</WizardExtension>
默认行为是 VisualStudio 将联机,获取所需的包,创建 packages.config 并将引用放在那里。但是如果离线,VisualStudio会抛出异常说他找不到包,不会创建package.config。
现在,是否可以覆盖该行为?无论 VisualStduio 是否能够下载包,我都想获取 packages.config 文件。
is it possible to override that behavior?
这个问题的答案是否定的。 我们知道packages.config,packages.config文件在某些项目类型中用于维护项目引用的包列表。如果我们将包安装到项目中,nuget 会自动将 packages.config 添加到项目中。如果您没有安装任何软件包,packages.config 将 而不是 添加。这是 nuget 的默认行为。就是这么设计的。
此外,据我所知,对于带有预装包的模板,要将预装包添加到您的项目模板中,您需要: 1. 编辑您的 vstemplate 文件并通过添加 WizardExtension 元素添加对 NuGet 模板向导的引用 2.在项目中添加要安装的包列表
没有覆盖 nuget 默认行为。因此,如果您想通过 Visua Studio 模板覆盖 nuget 默认行为是不可能的。
作为建议,你的问题是关于挑战nuget的设计,你可以在GitHub.
上提问。