sqlmetal.exe返回使用泛型类型'System.Data.Linq.Table'需要1个类型参数

时间:2012-01-04 15:11:55

标签: c# reference type-inference sqlmetal

我正在使用sqlmetal.exr为我生成映射代码。我使用。来调用sql metal。

cd C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin
SqlMetal.exe /server:servername\SQL /database:mydb /code:mycode.cs

输出是一个cs文件,命令promt说:

  

Microsoft(R)Database Mapping Generator 2008版本1.00.30729 for   Microsoft(R).NET Framework版本3.5版权所有(C)Microsoft   公司。保留所有权利。

当我将文件添加到我的项目并尝试构建它时,我收到以下错误:

  

使用泛型类型'System.Data.Linq.Table'需要1种类型   参数

这是在我的mycode.cs文件中。我正在引用System.Data.Linq和System.Data。为了让这个工作起作用,缺少什么参考?

更新

  

确保您的GAC和程序集中有System.Data.Linq   版本是3.5.0.0。还要确保您的项目是版本   参考

enter image description here

enter image description here

  

仔细检查您的应用程序的目标框架是否有某种方式   被改为3.5以外的东西。 Linq To SQL功能   仅适用于3.5框架。

enter image description here

1 个答案:

答案 0 :(得分:1)

如果此处存在的问题是您可以尝试解决问题的列表

要检查/尝试的一些事项:

  • 确保您的GAC中有System.Data.Linq,并且程序集版本为3.5.0.0。还要确保这是项目引用的版本。

  • 当你看项目参考时,有一个黄色的“!”参考旁边的图标?如果是这样,则表示VS未找到您的项目引用的System.Data.Linq版本。您应该尝试删除引用并添加新引用。

  • 仔细检查您的应用程序的目标框架是否以某种方式未被更改为3.5以外的其他内容。 Linq To SQL功能仅适用于3.5框架。