Visual Studio多项目模板重命名命名空间和项目名称
我已成功创建多项目解决方案模板。但是,我想要做的是将每个项目的开头重命名为解决方案的名称。Visual Studio多项目模板重命名命名空间和项目名称
所以我的项目:
- ProjectOne.A
- ProjectTwo.B
将被重新命名为
- SolutionName.A
- SolutionName.B
其中SolutionName
是用户创建项目时的名称。
我已经仔细阅读以下条款:
- http://msdn.microsoft.com/en-us/library/ms185308.aspx
- http://msdn.microsoft.com/en-us/library/ms185311.aspx
- http://msdn.microsoft.com/en-us/library/ms247063.aspx
但没有似乎回答我的具体情况。
如果你的主.vstemplate
(该解决方案的一个)就像下面的例子中, 您可以使用向导的字典中定义的变量重命名项目文件夹和.csproj
任何你想要的名字。
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="2.0.0" Type="ProjectGroup"
xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>My Web Server Solution with DAL</Name>
<Description>Creates Projects for Web Server DAL and adds them to a new or existing solution</Description>
<Icon></Icon>
<ProjectType>CSharp</ProjectType>
<ProjectSubType>My</ProjectSubType>
<DefaultName>WebServer</DefaultName>
<NumberOfParentCategoriesToRollUp>2</NumberOfParentCategoriesToRollUp>
<TemplateGroupID>My</TemplateGroupID>
<TemplateID>My.Dal.Web.Template</TemplateID>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<ProjectTemplateLink ProjectName="$ModelProjectName$">
Children\Model\ProjectTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$SharedModelContractsProjectName$">
Children\SharedModelContracts\ProjectTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$RepositoryInterfacesProjectName$">
Children\RepositoryInterfaces\ProjectTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$RepositoryImplementationProjectName$">
Children\RepositoryImplementation\ProjectTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$RepositoryExtensionsProjectName$">
Children\RepositoryExtensions\ProjectTemplate.vstemplate
</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>
<WizardExtension>
<Assembly>My.WebServerDalExtension.Wizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5c93c79b0feae916</Assembly>
<FullClassName>My.WebServerDalExtension.Wizard.Controller</FullClassName>
</WizardExtension>
</VSTemplate>
使用另外.vstemplates类似的变化(项目.vstemplates)重命名的.csproj文件。
正是我在找的东西!非常感谢。 – 2011-05-20 12:17:48
其中一些项目相互引用,但是'$ safeitemname $'和'$ safeprojectname $'占位符没有被替换,或者被替换为错误的值。关于如何一起参考项目的任何想法? – Omar 2011-09-04 05:09:37
是的,读取向导中的所有项目名称。让每个项目引用的使用变量在向导中定义。看到这个例子:http://vsix.codeplex.com/ – 2011-09-04 12:48:40
我很快就会看到与此相关的博客文章(第二天左右):http://compositecode.com – Adron 2011-03-21 21:52:41
@Adron - 你可以发布确切的链接。我不想追捕正确的文章。 – Omar 2011-03-21 22:18:58
我还没有测试你的建议,但我相信它是基于Myles的评论。 – Omar 2011-05-20 18:06:20