VSTemplate带参数的TargetFolderName

时间:2013-11-29 11:24:54

标签: c# visual-studio visual-studio-templates

我正在尝试创建 ItemTemplate ,它类似于MVC的Area。无论如何,我无法在 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

有人可以帮忙吗?

提前致谢。

2 个答案:

答案 0 :(得分:3)

刚刚找到了解决方法:

Can I create a new folder with a Visual Studio Item Template

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

<TemplateContent>
    <ProjectItem ReplaceParameters="true" TargetFileName="$AreaName$\$AreaName$Controller.cs">Controller.cs</ProjectItem>
</TemplateContent>

答案 1 :(得分:1)

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

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

    import pytz
    timezone = pytz.timezone(tz)
    your_date_with_usertimezone = date.astimezone(timezone)

最重要的是对.csproj(项目)文件和include语句(&#34; Compile Include&#34;&#34; None Include&#34;标签)进行一些更改,确保该文件放入新文件夹的文件的路径与您在模板文件中指定的新文件路径相同。