Templates Visual Studio 2012具有相互依赖关系的多项目模板
我正在为工作创建一个MVC初学者工具包,我在创建一个多项目模板时遇到了问题,创建后不需要大量手动修改 我有4个相互依赖的项目:Templates Visual Studio 2012具有相互依赖关系的多项目模板,templates,visual-studio-2012,vsix,visual-studio-templates,Templates,Visual Studio 2012,Vsix,Visual Studio Templates,我正在为工作创建一个MVC初学者工具包,我在创建一个多项目模板时遇到了问题,创建后不需要大量手动修改 我有4个相互依赖的项目: StarterKit.Common-无依赖性 StarterKit.DAL-对StarterKit.Common的依赖关系 StarterKit.BL-对StarterKit.Common和StarterKit.DAL的依赖关系 Web—对其他三个的依赖关系 我尝试过使用导出模板向导导出每个项目,创建一个root.vstemplate文件并将其压缩。虽然这是可行的(
- StarterKit.Common-无依赖性
- StarterKit.DAL-对StarterKit.Common的依赖关系
- StarterKit.BL-对StarterKit.Common和StarterKit.DAL的依赖关系 Web—对其他三个的依赖关系
使用StarterKit.Common,因为它没有正确的命名空间(即StarterKit.web)
第三,我有一些.tt脚本,其中包含我想替换的using语句,但即使我在项目中设置了replacepartameters=“true”
,它们也没有被触及
我还考虑过创建一个VSIX项目,但坦率地说,我不知道如何使用它。对我来说,它看起来更像是一个zip实用程序,它为您创建.vstemplate,并为我将.zip重命名为.vsix
我需要做的是:
- 将所有项目打包到单个部署文件中,作为VS中的“新项目”模板提供
- 创建新项目时,将.csproj、.cs、.cshtml和.tt文件中的所有“StarterKit”命名空间引用替换为用户选择的解决方案名称
- 找出一个简单的过程,在这个过程中,只要基础项目发生变化(文件添加/删除、重命名、内容更改等),我就可以轻松地更新模板
有人知道这是否可能吗?我从未找到答案,所以我选择了另一条路线
我已经创建了一个PowerShell脚本,它包含在一个包含解决方案文件的zip文件中。脚本根据用户选择的项目名称重命名解决方案、项目和类
遗憾的是,这必须在Visual Studio之外运行,我从来没有找到答案,所以我选择了另一条路线
我已经创建了一个PowerShell脚本,它包含在一个包含解决方案文件的zip文件中。脚本根据用户选择的项目名称重命名解决方案、项目和类
遗憾的是,这必须在Visual Studio之外运行,我从来没有找到答案,所以我选择了另一条路线
我已经创建了一个PowerShell脚本,它包含在一个包含解决方案文件的zip文件中。脚本根据用户选择的项目名称重命名解决方案、项目和类
遗憾的是,这必须在Visual Studio之外运行,我从来没有找到答案,所以我选择了另一条路线
我已经创建了一个PowerShell脚本,它包含在一个包含解决方案文件的zip文件中。脚本根据用户选择的项目名称重命名解决方案、项目和类
令人沮丧的是,这必须在Visual Studio之外运行,完全公开:我是下面提到的项目的创建者
您可以使用我创建的名为。通过在所有解决方案级别参数前面加上“全局”一词,并将它们添加到子模板的参数中,它可以将解决方案模板级别的信息提供给也运行向导的子模板
如果您将GlobalParams与上述多项目模板一起使用,并且用户输入了“StarterKit”,则以下情况是正确的:
- 启动器套件。公用的可以访问
- $safeprojectname$=StarterKit.Common
- $globalsafeprojectname$=StarterKit
- $globalguid1$=E8C8A064601844439909D6C33AB90CB3
- $globalguid2$=020DB5ABF76040C7BDA19EAC54DFE3D8
- $globalguid3$=8392FB760F754C0AB87778845CC28B6D
- $globalguid4$=13E07D43F523467587296B2C38650
- StarterKit.DAL
- $safeprojectname$=StarterKit.DAL
- $globalsafeprojectname$=StarterKit
- $globalguid1$=E8C8A064601844439909D6C33AB90CB3
- $globalguid2$=020DB5ABF76040C7BDA19EAC54DFE3D8
- $globalguid3$=8392FB760F754C0AB87778845CC28B6D
- $globalguid4$=13E07D43F523467587296B2C38650
- StarterKit.BL
- $safeprojectname$=StarterKit.BL
- $globalsafeprojectname$=StarterKit
- $globalguid1$=E8C8A064601844439909D6C33AB90CB3
- $globalguid2$=020DB5ABF76040C7BDA19EAC54DFE3D8
- $globalguid3$=8392FB760F754C0AB87778845CC28B6D
- $globalguid4$=13E07D43F523467587296B2C38650
- StarterKit.Web
- $safeprojectname$=StarterKit.Web
- $globalsafeprojectname$=StarterKit
- $globalguid1$=E8C8A064601844439909D6C33AB90CB3
- $globalguid2$=020DB5ABF76040C7BDA19EAC54DFE3D8
- $globalguid3$=8392FB760F754C0AB87778845CC28B6D
- $globalguid4$=13E07D43F523467587296B2C38650
使用,您可以访问具有全局前缀的100Guid
s,这些全局前缀在子模板中是相同的。因此,Sta