VSIX 模板参数未正确替换

问题描述 投票:0回答:1

我想我一定错过了一些明显的步骤。 我正在尝试为 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$
尝试过,并得到了类似的结果。 我觉得这应该是“正常工作”,所以我一定错过了一些非常明显的东西。

c# visual-studio visual-studio-extensions vsix visual-studio-templates
1个回答
0
投票

1.将文件

DependencyInjection.cs

放入您的模板项目中。修改代码文件以指示应在何处进行参数替换。

2.在“项目”菜单上,选择“导出模板”。

3.在“选择模板类型”页面上,选择“项目模板”,选择包含该项目的项目,然后选择“下一步”。

4.选择要为其创建模板的项目,然后选择“下一步”。

enter image description here 5 在 vstemplate 文件中包含以下行:

<ProjectItem SubType="" TargetFileName="$fileinputname$.cs" ReplaceParameters="true">DependencyInjection.cs</ProjectItem>

测试结果:

enter image description here

enter image description here 欲了解更多信息,请阅读文档:

模板参数

创建模板

© www.soinside.com 2019 - 2024. All rights reserved.