我想我一定错过了一些明显的步骤。 我正在尝试为 C# .NET 8 可执行文件构建 VSIX 模板项目。 除了参数替换之外,它都有效。
我的模板项目中有以下文件:
DependencyInjection.cs(BuildAction:无,复制到输出目录:不复制)
using Microsoft.Extensions.DependencyInjection;
using $rootnamespace$.Repositories;
namespace $rootnamespace$;
public static class DependencyInjection
{
}
我的 vstemplate 文件中有以下行:
<ProjectItem ReplaceParameters="true" TargetFileName="DependencyInjection.cs">DependencyInjection.cs</ProjectItem>
但是,当我使用模板时,我得到以下为我制作的 DependencyInjection.cs 文件,这是......不正确,但不是 untouched。 看起来令牌替换器做了某些事情,但不是我所希望的。
using $
using Microsoft.Extensions.DependencyInjection;
rootnamespace$.Repositories;
namespace $rootnamespace$;
public static class DependencyInjection
{
}
我错过了什么步骤? 我也用
$defaultnamespace$
尝试过,并得到了类似的结果。 我觉得这应该是“正常工作”,所以我一定错过了一些非常明显的东西。
1.将文件
DependencyInjection.cs
放入您的模板项目中。修改代码文件以指示应在何处进行参数替换。
2.在“项目”菜单上,选择“导出模板”。3.在“选择模板类型”页面上,选择“项目模板”,选择包含该项目的项目,然后选择“下一步”。
4.选择要为其创建模板的项目,然后选择“下一步”。
<ProjectItem SubType="" TargetFileName="$fileinputname$.cs" ReplaceParameters="true">DependencyInjection.cs</ProjectItem>
测试结果:模板参数创建模板