生成类中的SubSonic生成编译器警告

时间:2012-11-12 12:31:13

标签: c# .net visual-studio-2010 orm subsonic

我的几个ASP.NET MVC 2(.NET 3.5)项目使用SubSonic 2作为项目数据层中的主数据库访问器。这很好用,数据库中的所有内容都可以访问而没有任何问题。然而,最近,我的工作实施了“零警告”政策,因此我们一直在审查所有项目,以消除我们项目的任何警告(如果可能)。

有问题的项目只有SubSonic警告可以消除或抑制,但是,这些是在生成的类本身中找到的,这使得删除它们非常有问题。我得到的警告如下:

  • “...覆盖Object.Equals(对象o)但不覆盖ActiveRecord.cs中的Object.GetHashCode()...”
  • “... .Name”隐藏继承的成员'SubSonic.Schema.DatabaseTable.Name'。如果隐藏意图,请使用new关键字....“在Struct.cs中
  • “在模板中找到了多个模板指令。除了第一个模板指令之外的所有指令都将被忽略。应该在一个模板指令中指定模板指令的多个参数”在Settings.ttinclude
  • “编译转换:在SQLServer.ttinclude
  • 中分配了变量'参数'但从未使用过它的值”
  • “不再支持C#2.0和C#3.5编译器。模板将始终使用版本4编译器而不是指定的'v3.5'进行编译。”在Context.tt

我尝试到处寻找这些警告的解决方案但到目前为止没有运气。有没有其他人遇到过这样的警告,如果有的话,你是怎么解决的?谢谢。

1 个答案:

答案 0 :(得分:1)

你不会喜欢这个。

一劳永逸地解决问题的唯一选择是下载SubSonic源代码,对templates进行必要的更改,重新编译并使用您自己的二进制代码而不是库存下载。

从长远来看,我强烈建议完全放弃SubSonic。这不值得痛苦。

相关问题