[英]Get Nuget credentials stored somewhere by Visual Studio in a VSIX project
[英]Multi Project / Solution Templates for Visual Studio 2012 with VSIX Installer and Nuget Packages
我想有一个多项目模板,它将创建子项目,并将安装nuget依赖项以及安装此模板的vsix安装程序。
方法问题已经尝试过
没有VSIX的多项目模板,没有nuget
我能够创建一个多项目模板,它工作正常,除非是时候包括nuget引用,它不起作用。 对于没有涉及VSIX的nuget,没有简单/优雅的支持。
具有VSIX的多项目模板,没有根模板
所以我尝试使用VSIX,看起来非常简单。 将模板项目添加为zip或解决方案,构建vsix安装程序。 但是当我添加第二个项目模板,创建一个多项目模板,构建它,安装模板并尝试创建一个项目时,我意识到它不支持master-sub项目设置,其中一个主项目创建子项目。 这是一个很大的问题,因为开发人员必须按依赖顺序创建每个项目。
我终于让设置工作了。 我花了很多天的时间尝试和修补不同的MSDN文章和博客来解决这个问题。
结合多项目模板(与根模板)和VSIX
最终的结果是
使用此模板创建项目时,它会自动创建多个子项目,但子项目不是(但可以)作为新项目菜单中的模板。 如果您尝试模拟依赖于许多项目一起工作的企业设计,但是您不希望用户能够创建这些子项目,或者您希望它们可以在不同的项目中使用,那么这非常有用。项目模板区域/类别。
脚步:
将以下内容添加到文件中:
<WizardExtension> <Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly> <FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName> </WizardExtension> <WizardData> <packages repository="extension" repositoryId="fill this in"> <package id="Newtonsoft.Json" version="5.0.6" /> </packages> </WizardData>
打开您希望用作“子项目”模板的第一个项目,从文件 - >导出模板导出模板。
并在下面的TemplateContent块中粘贴(例如,如果你想添加一个Json nuget包)
<WizardExtension> <Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly> <FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName> </WizardExtension> <WizardData> <packages repository="extension" repositoryId="fill this in"> <package id="Newtonsoft.Json" version="5.0.6" /> </packages> </WizardData>
压缩整个根文件夹MyTemplate,最终得到MyTemplate.zip,其中包含MyTemplate文件夹的内容。
可选步骤让您的主项目重命名您的文件和名称空间
<DefaultName>$safeprojectname$.Domain</DefaultName>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.