T4 - 字段初始值设定项不能引用非静态字段、方法或 属性
T4 - A field initializer cannot reference the non-static field, method, or property
我在以 string firstLine
开头的最后一行出现错误:
<#+
int Year = (int)(DateTime.UtcNow.Year);
int Month = (int)(DateTime.UtcNow.Month);
int Day = (int)(DateTime.UtcNow.Day);
int RevisionNumber = (int)(DateTime.UtcNow - new DateTime(2013,1,1)).TotalDays;
string multiLine = System.IO.File.ReadAllText("C:\Users\kozub.sebastian\Documents\Visual Studio 2012\Projects\Ris\RisSystem\RisSystem\Properties\AssemblyInfo.cs");
string firstLine = multiLine.Substring(0, multiLine.IndexOf('\n'));
#>
错误是:
A field initializer cannot reference the non-static field, method, or property
最后两行在我项目的普通 C# 文件中完美运行。
问题出在 <#+ #>
。在 <#
之后添加 +
表示里面的代码是 class 的一部分并且 class 的字段应该用静态成员、常量等初始化,或者使用 class 构造函数.
要将代码视为程序脚本,应将代码插入其中
<# #>
分。
我在以 string firstLine
开头的最后一行出现错误:
<#+
int Year = (int)(DateTime.UtcNow.Year);
int Month = (int)(DateTime.UtcNow.Month);
int Day = (int)(DateTime.UtcNow.Day);
int RevisionNumber = (int)(DateTime.UtcNow - new DateTime(2013,1,1)).TotalDays;
string multiLine = System.IO.File.ReadAllText("C:\Users\kozub.sebastian\Documents\Visual Studio 2012\Projects\Ris\RisSystem\RisSystem\Properties\AssemblyInfo.cs");
string firstLine = multiLine.Substring(0, multiLine.IndexOf('\n'));
#>
错误是:
A field initializer cannot reference the non-static field, method, or property
最后两行在我项目的普通 C# 文件中完美运行。
问题出在 <#+ #>
。在 <#
之后添加 +
表示里面的代码是 class 的一部分并且 class 的字段应该用静态成员、常量等初始化,或者使用 class 构造函数.
要将代码视为程序脚本,应将代码插入其中
<# #>
分。