T4模板在新的VS2017 csproj项目中不生成输出

Dre*_*kes 10 t4 csproj visual-studio-2017

我将project.json/ .xprojproject 迁移到较新的CS2017 .csproj格式.

该项目包含一个T4(.tt)模板文件.

它不会在保存或构建时重新生成其输出.输出.cs文件也没有嵌套在.tt文件下面.

为了让这个工作,我有什么必须做的吗?

Ben*_*thy 16

.tt文件只能由VS 在保存时自动运行.您可以安装AutoT4以在构建之前/之后运行它们.(请注意,目前新.csproj文件存在限制- 在属性窗口中不会显示选项.)

如果您已从旧project.json/ .xproj格式转换,则可能需要将模板显式添加到项目中:

<ItemGroup>
  <None Update="Foo.tt">
    <Generator>TextTemplatingFileGenerator</Generator>
    <LastGenOutput>Foo.cs</LastGenOutput>
  </None>
  <Compile Update="Foo.cs">
    <DesignTime>True</DesignTime>
    <AutoGen>True</AutoGen>
    <DependentUpon>Foo.tt</DependentUpon>
  </Compile>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

相关的GitHub问题

编辑

如下面的评论中所述,您可以通过排除,然后在项目中包含模板来快速轻松地完成此操作.

  • 我发现您可以*右键单击***排除**TT文件,然后再次**包括**,如果Visual Studio的转换未明确标记TT文件. (5认同)