使用T4生成基本装配信息的问题

时间:2018-11-06 20:19:53

标签: c# .net-assembly t4

我在使用T4创建最基本的Assembly Information时遇到问题-有人可以帮我吗?

我只希望下面的代码手动生成一个版本号,这样我可以看到它可以工作,但是编译后的.cs文件没有应有的信息。

代码如下:

SharedAssemblyInfo.tt

<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ output extension=".cs" #>
<#
    int major    = 5;
    int minor    = 0;
    int build    = 0;
    int revisions = 0;

    // TODO: Write code here to automatically generate a version

    string version = String.Format("{0}.{1}.{2}.{3}",
                                   major,
                                   minor,
                                   build,
                                   revisions);
#>
// This code was generated by a tool. Any changes made manually will be lost
// the next time this code is regenerated.

using System.Reflection;


[assembly: AssemblyVersion("<#= version #>")]
[assembly: AssemblyFileVersion("<#= version #>")]

这是预期的结果:

SharedAssemblyInfo.cs

using System.Reflection;

[assembly: AssemblyVersion("5.0.0.0")]
[assembly: AssemblyFileVersion("5.0.0.0")]

这是actual result-上面没有任何汇编代码。

这类似于我已经审查过的几个问题:thisthisthis,但是即使遵循它们的特定用例,我也无法提出具有我期望的AssemblyVersion和AssemblyFileVersion属性的.cs文件

1 个答案:

答案 0 :(得分:1)

从输出中看,您似乎已将.tt文件配置为runtime file generator而不是设计时间生成器。

检查文件的自定义工具属性。它应该是 TextTemplateFileGenerator ,而不是 TextTemplatingFilePreprocessor

enter image description here