我有.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文件。
答案 0 :(得分:0)
可以覆盖这种行为吗?
这个问题的答案是否定的。 我们知道packages.config,在一些项目类型中使用packages.config文件来维护项目引用的包列表。如果我们将软件包安装到项目中,nuget会自动将packages.config添加到项目中。如果您没有安装任何软件包,则将添加packages.config not 。这是nuget的默认行为。它是如此设计的。
此外,据我所知,对于预安装包的模板,要将预装的包添加到项目模板,您需要: 1.编辑您的vstemplate文件,并通过添加WizardExtension元素添加对NuGet模板向导的引用 2.添加要在项目中安装的包列表
nuget默认行为没有覆盖。因此,如果您想通过Visua Studio模板覆盖nuget默认行为是不可能的。
作为建议,您的问题是挑战nuget的设计,您可以在GitHub上提出这个问题。