[英]T4 template generation error when trying to execute subsonic's activerecord in sharpdevelop
[英]Why does SubSonic's ActiveRecord T4 template generate ActiveRecord1.cs and not ActiveRecord.cs?
我在几个项目中使用过SubSonic的ActiveRecord T4模板。 今天,我将其中一个项目(没有生成的.cs源文件)中的相同模板添加到新项目中。
出于某种原因,当我运行T4模板代码生成器时,而不是生成:
ActiveRecord.cs
, Context.cs
, StoredProcedures.cs
和Structs.cs
模板生成器创建:
Context1.cs
, ActiveRecord1.cs
, Context1.cs
, StoredProcedures1.cs
和Structs1.cs
。
我删除了ActiveRecord文件夹中的所有.cs源文件,并且在整个解决方案中没有其他具有这些名称的文件。
虽然这不是问题,因为生成了正确的类,命名空间等,但是看到在文件名末尾加上数字1
是很烦人的。
我正在使用SubSonic 3.0.0.3。
有谁知道为什么会这样?
解决方案是删除生成的.cs文件并手动编辑.proj文件。 右键单击VS2008中的项目并卸载项目。
在.proj文件中搜索LastGenOutput中的ActiveRecord1.cs并更改回ActiveRecord.cs。 重复其他文件。 不知何故,这些名称增加了。
<None Include="T4AutoGen\ActiveRecord.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>ActiveRecord.cs</LastGenOutput>
</None>
保存文件并重新加载项目。 您的文件现在应该正确生成。
我不确定除了t4模板的一些奇怪之外,为什么会发生这种情况。 这应该让你再次前进。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.