【发布时间】:2019-08-09 05:00:39
【问题描述】:
我创建了一个 VSIX,它正在创建一个带有一些附加文件的项目文件。 替换 auf 我的文件工作正常,但我的项目文件未正确重命名。
简短的例子。我创建了一个 Foo 项目。 Assemblyname 应该是 MY.Foo,Projectfile 也应该是 My.Foo,即使我将 Projektname 命名为 Foo。
VS:模板
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
<TemplateData>
<Name>ClusterTemplate</Name>
<Description><No description available></Description>
<ProjectType>CSharp</ProjectType>
<ProjectSubType>
</ProjectSubType>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>ClusterTemplate</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<LocationField>Enabled</LocationField>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
<Icon>__TemplateIcon.ico</Icon>
</TemplateData>
<TemplateContent>
<Project TargetFileName="My.$projectname$.csproj" File="Test.csproj" ReplaceParameters="true">
<ProjectItem ReplaceParameters="true" TargetFileName="I$projectname$Cluster.cs">ITestCluster.cs</ProjectItem>
<Folder Name="PrintTemplates" TargetFolderName="PrintTemplates" />
<Folder Name="Properties" TargetFolderName="Properties">
<ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
</Folder>
<Folder Name="TemplateFactories" TargetFolderName="TemplateFactories" />
<ProjectItem ReplaceParameters="true" TargetFileName="$projectname$Cluster.cs">TestCluster.cs</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="$projectname$RopeTarget.cs">TestRopeTarget.cs</ProjectItem>
</Project>
</TemplateContent>
</VSTemplate>
.csproj 模板文件片段
<RootNamespace>MY.$safeprojectname$</RootNamespace>
<AssemblyName>MY.$safeprojectname$</AssemblyName>
所以最终结果是 Assemblyname 和 Namespace 以及所有文件在我的 .csproj 文件旁边正确重命名。他仍然接受我的输入 Foo。
如何使用 VSIX/VSTemplate 重命名 .csproj 文件
【问题讨论】:
标签: c# vsix visual-studio-templates