gpt4 book ai didi

c# - Visual Studio 2012 项目模板自定义参数和重命名问题

转载 作者:太空狗 更新时间:2023-10-29 23:51:17 25 4
gpt4 key购买 nike

任务:
我想从 Visual Studio 2012 项目创建项目模板,以便快速创建类似的项目。这需要重命名文件并更改根命名空间。不幸的是,这不会发生......

已完成的工作:

  1. 我已经创建了项目并替换了 MSDN 页面指定的某些名称。一个替换项是 $safeprojectname$,另一个是自定义参数:$custom1$
  2. 项目已通过文件 --> 导出模板... 选项导出为项目模板。
  3. 我已经解压缩了创建的 zip 文件。
  4. 我编辑了 .vstemplate.csproject 文件。代码如下。
  5. 我已经重新压缩了文件。
  6. Visual Studio 已重新启动,并已打开一个项目。
  7. 我选择添加 --> 新建项目 --> *我的自定义模板*,为其命名并添加项目。
  8. 项目被添加并且 $safeprojectname$ 被替换。文件重命名,$custom1 被替换。

MyTemplate.vstemplate

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
<TemplateData>
<Name>MyTemplateName</Name>
<Description>My Description</Description>
<ProjectType>CSharp</ProjectType>
<ProjectSubType></ProjectSubType>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>My Default Name</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<LocationField>Enabled</LocationField>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
<Icon>__TemplateIcon.ico</Icon>
</TemplateData>
<TemplateContent>
<Project TargetFileName="MyTemplate.csproj" File="MyTemplate.csproj" ReplaceParameters="true">
<ProjectItem ReplaceParameters="true" TargetFileName="app.config">app.config</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="$safeprojectname$Data.cs">Data.cs</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="$safeprojectname$.cs">Main.cs</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="$safeprojectname$Form.xaml">Form.xaml</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="$safeprojectname$Form.xaml.cs">Form.xaml.cs</ProjectItem>
<Folder Name="Properties" TargetFolderName="Properties">
<ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="Settings.settings">Settings.settings</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="Settings.Designer.cs">Settings.Designer.cs</ProjectItem>
</Folder>
</Project>
<CustomParameters>
<CustomParameter Name="$custom1$" Value="Some.Custom.Namespace.Prefix."/>
<CustomParameters>
</TemplateContent>
</VSTemplate>

MyTemplate.csproj

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
...
<OutputType>Library</OutputType>
<RootNamespace>$custom1$$safeprojectname$</RootNamespace>
<AssemblyName>$safeprojectname$</AssemblyName>
</PropertyGroup>
<ItemGroup>
<Compile Include="$safeprojectname$.cs" />
<Compile Include="$safeprojectname$Data.cs" />
<Compile Include="$safeprojectname$Form.xaml.cs">
<DependentUpon>$safeprojectname$Form.xaml</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<Page Include="$safeprojectname$Form.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="Properties\Settings.settings">
<Generator>PublicSettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
</Project>

有问题吗?
如何让 Visual Studio 更改文件中的 $custom1$ 参数并将文件(如 Main.cs)重命名为 $safeprojectname$.cs?

什么不起作用

  • 按照 MSDN 页面上的步骤,我一事无成;文件名和自定义参数均未更改。
  • 通过 Google 搜索,我找到了 MSDN 页面或对它们的引用。

最佳答案

我不知道 visual stuido handels 如何导出模板,但我通过修改默认模板知道 visual studio 有两个版本的模板。一个位于“ProjectTemplate”文件夹中,另一个位于“ProjectTemplateCache”中。

也许您导出的模板未经您的修改仍在缓存中。尝试使用以下参数从 cmd 启动 visual studio 来刷新缓存:“devenv/installvstemplates”或“devenv/setup”。

如果要创建多个模板,我建议下载 Visual Studio 并使用 VSIX 项目来分解模板。 SDK 还允许以更有效的方式调试模板。您可以按“调试”,您将收到一个安装了 VSIX(您的模板)的 Visual Studio 实例。

关于c# - Visual Studio 2012 项目模板自定义参数和重命名问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21379793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com