2

我正在尝试创建类似于 MVC 区域的ItemTemplate 。无论如何,我无法在TemplateContent中创建一个具有TargetFolderName参数的文件夹。这是我的TemplateContent部分的简化示例:

<TemplateContent>
    <Folder Name="Area" TargetFolderName="$AreaName$">
        <ProjectItem ReplaceParameters="true" TargetFileName="$AreaName$Controller.cs">Controller.cs</ProjectItem>
    </Folder>
</TemplateContent>

即使MSDN声明TargetFolderName

对于使用参数替换来创建文件夹名称或使用不能在 .zip 文件中直接使用的国际字符串命名文件夹非常有用。

尽管如此,我还是无法完成这项工作。

输入“ TestArea ”的预期结果:

TestArea
   |__ TestAreaController.cs

实际结果:

$AreaName$
   |__ TestAreaController.cs

有人可以帮忙吗?

提前致谢。

4

2 回答 2

5

刚刚在这里找到了解决方法:

我可以使用 Visual Studio 项目模板创建一个新文件夹吗

所以这就是我解决它的方法:

<TemplateContent>
    <ProjectItem ReplaceParameters="true" TargetFileName="$AreaName$\$AreaName$Controller.cs">Controller.cs</ProjectItem>
</TemplateContent>
于 2013-11-29T11:56:30.407 回答
1

我和你有同样的问题,但你的解决方案并没有完全解决我的问题,所以我想出了一个更全面的解决方案(适用于 Visual Studio 2015)。

您需要对模板文件进行更改:

<TemplateContent>
    <Folder Name="Area" TargetFolderName="$AreaName$">
    <ProjectItem ReplaceParameters="true" TargetFileName="$AreaName$Controller.cs">Controller.cs</ProjectItem>
    </Folder>
</TemplateContent>

最重要的是,对 .csproj(项目)文件和包含语句(“编译包含”和“无包含”标签)进行一些更改,确保您放入新文件夹中的文件的文件路径是与您在模板文件中指定的新文件路径相同。

于 2015-12-15T00:49:58.173 回答