2009-08-02 87 views
2

我想添加基本日志记录,并对由SubSonic 2.1生成的类进行一些其他较小的更改(我没有使用SubSonic 3.0 t4模板)。如何修改SubSonic 2.1代码生成

有没有办法做到这一点,而无需修改SubSonic源代码?

+0

如果您正在使用RepositoryRecord,则可以将审核/日志记录添加到存储库基类。 [我在我的博客上展示了这个](http:// john-sheehan。COM /博客/如何,我使用的亚音速部分-3-缓存和查询审计/)。 – 2009-08-03 05:54:11

回答

5

你有两个选择。您可以修改默认模板或创建自己的模板。我建议您制作自己的模板,它将与原始文件并排存放,然后通过以下说明生成代码。

请注意,这些步骤假定您运行默认的SubSonic安装。换句话说,Sonic.exe和默认模板可以在c:// program files /下找到。如果没有,当然可以在另一个安装位置找到SubSonic文件/模板。

  1. 制作在C:\ Program Files \ SubSonic \ SubSonic 2.1 Final \ src \ SubSonic \ CodeGeneration \ Templates中找到的默认模板文件夹的副本。我可能会推荐命名复制的文件夹“TemplatesWithLogging”。
  2. 在Visual Studio中打开aspx文件并修改为您的内容。例如,我想要一个备用的C#类模板,因此我修改了CS_ClassTemplate.aspx。如果您只想改变默认的模板,你可以但我建议先做一个备份
  3. 我打算假设你已经熟悉SubSonic的代码生成我个人喜欢设置一个Visual Studio外部工具来允许快速,否则,可以将以下内容移植到命令行:以下是外部工具设置说明:

    • 工具>外部工具>添加标题:TemplatesWithLogging

    • 亚音速类命令:C:\ Program Files文件\亚音速\亚音速2.1最后\ SubCommander \ sonic.exe参数:生成输入/输出生成/命名空间NAMESPACE /服务器SERVER/db DATABASE其中NAMESPACE,SERVER和DATABASE被相应地替换。

    • 初始目录:$(PROJECTDIR)

    • 勾选“使用输出窗口”和

    • 选择应用或确定

4“提示的论点。” 。选择包含“生成”文件夹和自动生成文件的项目。选择工具> TemplatesWithLogging。

您可以find more here

1

是的,你可以修改版本2使用的模板,它们只是aspx文件。模板存储在安装目录下的src \ SubSonic \ CodeGeneration \ Templates中。

本博客文章进入更多细节:

http://johnnycoder.com/blog/2008/06/09/custom-templates-with-subsonic/

+0

@亚当 - 你打败了我!我应该总结和链接到我的博客,而不是重新格式化SO的答案。请参阅下面的答案。 :) 做得好。 – 2009-08-02 17:16:05