0

我经常收到这个错误:

无法使用功能“ {在此处插入功能} ”,因为它不是 ISO-2 C# 语言规范的一部分

我在一个 .NET 3.5 网站上工作,我已经在这个网站上工作了大约两年。在我最近一次更新之前,我从未见过这个错误。我在整个过程中使用了大量的 LINQ 编码,并且我得到了与大部分 LINQ 代码相关的这些错误。根据我所读到的内容,即使我使用的是 .NET 3.5,由于某种原因它认为我使用的是 2.0。但我找不到任何说明如何解决它的东西。

问题的一个示例是,如果我尝试将新项目添加到 App_Code 目录,我没有获得添加 LINQ to SQL dbml 文件的选项。

如果有人能阐明我将如何解决这个问题,我将不胜感激。

我无法在构建选项卡下找到“高级”选项。我有一种感觉,这可能是因为它是一个网络应用程序。我查看了 web.config,发现了 2 个可能很重要的部分。大多数东西都引用了 3.5.0.0 或 v3.5。这些设置与没有错误时的 web.config 旧备份一致。顺便说一句,只有智能感知和 VS2010 中的东西给我带来了问题。该网站运行无错误。

我已经完成了 VS2010 的完全卸载和重新安装,但我仍然遇到同样的问题。我启动了旧安装的 VS2008,但我没有遇到这个问题。但是,我更喜欢在这个项目上使用 VS2010。

我在工作电脑上用VS2010打开网站,没有报错。这让我觉得我的笔记本电脑上有什么东西导致了这个问题。如上所述,我完全重新安装了 Visual Studio 2010,但问题仍然存在。这会留下什么?我在 VS 中只安装了一个扩展,它在工作中和我的笔记本电脑上都是一样的。另外,我重装VS后没有重装扩展,问题依旧。

两台 PC 都运行 Win7 Ultimate。已安装 VS2008 和 VS2010。VS2010 在两者上都安装了相同的扩展。在我的笔记本电脑上,我安装了完整版的 SQL Server 2008,但我的桌面上只安装了 Management Studio(我们办公室里有一台服务器)。SS2008和它有什么关系吗?

4

2 回答 2

1

转到您的项目属性,构建选项卡,高级 - 这应该允许您设置要使用的 C# 版本。它应该默认为您正在使用的 Visual Studio 版本支持的最新版本,但听起来好像在某些时候您已将其切换到 ISO-2。

(对于 Windows 项目和类库当然是这样 - Web 应用程序中可能存在不同的位置。特别是,请查看 Web.config。)

If this has only started happening recently, I'd have a look through your source control history at changes to any configuration files. Also try creating a new project of the same type, and see if that has the same problem.

于 2012-07-10T02:56:51.330 回答
0

Jon Skeet's answer is mostly correct. The location for the update is in the "Property Pages" which I got to by right-clicking on the name of the website, clicking Property Pages, the Build item, then target framework.

The extension I use, Solution Navigator, has it's own heading for the solution. Right-clicking on it DOES NOT give me the Property Pages option. By chance I right clicked on the title of the website under the solution heading and was presented with the Property Pages option. In there was the Build tab which contained the target framework option.

Once I finally found the target framework option, it was indeed set to .NET 2.0 for some reason. I changed it to 3.5, reloaded the solution, and now it works great.

Thanks a million Jon for your help and time working with me!!

于 2012-07-17T04:36:52.973 回答