繁体   English   中英

为什么SubSonic的ActiveRecord T4模板会生成ActiveRecord1.cs而不生成ActiveRecord.cs?

[英]Why does SubSonic's ActiveRecord T4 template generate ActiveRecord1.cs and not ActiveRecord.cs?

我在几个项目中使用过SubSonic的ActiveRecord T4模板。 今天,我将其中一个项目(没有生成的.cs源文件)中的相同模板添加到新项目中。

出于某种原因,当我运行T4模板代码生成器时,而不是生成:

ActiveRecord.csContext.csStoredProcedures.csStructs.cs

模板生成器创建:

Context1.csActiveRecord1.csContext1.csStoredProcedures1.csStructs1.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM