如何仅在发布版本上运行T4转换

Pet*_*r M 7 t4 visual-studio-2017

我正在使用T4模板(除其他外)在AssemblyInfo.cs文件中增加构建号.

因为我只希望在运行Release版本时进行转换,所以我之前通过将T4文件上的构建操作设置为"None"并在项目上具有预构建命令的kludge来完成此操作:

if $(Configuration) == Release "%CommonProgramFiles(x86)%\microsoft shared\TextTemplating\12.0\TextTransform.exe" -a !!build!true  "$(ProjectDir)Transforms\AssemblyInfo.tt"
Run Code Online (Sandbox Code Playgroud)

我现在正在转向VS2017,我想知道是否有更好的方法来做到这一点.像Get Visual Studio这样的问题的答案在每个构建上运行T4模板基本上提供:

  1. 我正在做的一个加强版本(但是有批处理文件)
  2. 指向许多VS扩展,尝试在每个构建上运行T4内容.
  3. 建议手动修改项目文件(我不想这样做,因为它使进程在使用IDE时不可见)

在2017年,VS2017有更好的方法来实现我的目标吗?有些东西允许我只在发布版本上运行我的T4,它从IDE集成到解决方案中而不依赖于批处理文件?

另一个问题在运行T4模板时确定解决方案配置(调试/发布)显示了如何从T4模板中获取构建类型,但到那时对我来说已经太晚了.