1

我正在使用 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) .NET Framework 3.5 版的 Microsoft (R) Database Mapping Generator 2008 版本 1.00.30729 版权所有 (C) Microsoft Corporation。版权所有。

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

使用泛型“System.Data.Linq.Table”需要 1 个类型参数

这是在我的 mycode.cs 文件中。我引用 System.Data.Linq 和 System.Data。缺少什么参考来使它起作用?

更新

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

在此处输入图像描述

在此处输入图像描述

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

在此处输入图像描述

4

1 回答 1

1

如果问题在这里仍然存在,您可以尝试解决问题的列表

需要检查/尝试的几件事:

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

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

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

于 2012-01-04T15:24:47.423 回答