Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 生成类中的亚音速生成编译器警告_C#_.net_Visual Studio 2010_Orm_Subsonic - Fatal编程技术网

C# 生成类中的亚音速生成编译器警告

C# 生成类中的亚音速生成编译器警告,c#,.net,visual-studio-2010,orm,subsonic,C#,.net,Visual Studio 2010,Orm,Subsonic,我的几个ASP.NET MVC 2(.NET 3.5)项目使用亚音速2作为项目数据层中的主要数据库访问器。这很好,数据库中的所有内容都可以访问,没有任何问题。然而,最近,我的工作实施了“零警告”政策,因此我们一直在检查所有项目,以消除项目中的任何警告(如果可能) 有问题的项目只剩下亚音速警告需要消除或抑制,但是,这些警告在生成的类本身中找到,这使得删除它们非常困难。我收到的警告如下: “…覆盖ActiveRecord.cs中的Object.Equals(对象o),但不覆盖Object.GetH

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

有问题的项目只剩下亚音速警告需要消除或抑制,但是,这些警告在生成的类本身中找到,这使得删除它们非常困难。我收到的警告如下:

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

我试着到处寻找这些警告的解决方案,但到目前为止运气不佳。是否有其他人遇到此类警告?如果是,您是如何解决的?谢谢。

你不会喜欢这个的

唯一能一劳永逸地解决您的问题的方法是下载亚音速源,对进行必要的更改,重新编译并使用您自己的二进制文件,而不是股票下载


从长远来看,我强烈建议完全抛弃亚音速。这不值得付出痛苦。

另一方面,我发现这是它的优势之一。代码很容易理解,模板也很容易定制(只要你在小步骤中进行更改并检查它们是否仍然有效)。谢谢你的帮助Jon,我们实际上已经停止在较新的项目中使用亚音速,而支持实体框架,但我只是希望我们能够解决旧项目中的警告。因此,我被告知暂时不要担心,但我会保留模板位置的记录以供将来参考,谢谢。您使用的确切版本是什么?也许可以试试更新的2.x版本?我没有收到任何警告VS2012/2010 3.5/4.0。你确定你没有使用版本3吗?仅从内存版本3使用tt文件。