我的目标框架是.NET Framework 4。
该项目是MVC 3项目。
我正在使用Visual Studio 2010。
Windows 7 64位


我正在尝试让一个旧项目在全新安装的Windows 7 64位上工作。当我尝试编译项目时,多次出现以下错误:

 Error  11  Missing compiler required member 'System.Runtime.CompilerServices.ExtensionAttribute..ctor'


我已经读过多个关于同一错误的问题,但是这些解决方案似乎都不起作用,并且与其他目标框架或MVC的不同版本有关。更令人沮丧的是,这个完全相同的项目可以在我的同事计算机上完美地编译。

据我了解,出现此错误的原因是因为该项目正在System.Core中寻找System.Runtime.CompilerServerices,但该项目已移至mscorlib。

我正在尝试重新添加mscorlib,但是当我尝试将其添加为已编译引用时,出现以下消息:

当我尝试添加mscorlib.dll 2.0时:

 A reference to 'mscorlib.dll' could not be added. The ActiveX type library 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.tlb' was exported from a .NET assembly and cannot be added as a reference. Add a reference to the .NET assembly instead.


当我尝试添加mscorlib.dll 2.4时:

 A reference to 'mscorlib.dll' could not be added. The ActiveX type library 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.tlb' was exported from a .NET assembly and cannot be added as a reference. Add a reference to the .NET assembly instead.


因此,当我尝试将mscorlib v4.0.0.0添加为.NET引用时,出现以下错误消息:

 A reference to 'mscorlib' could not be added. This component is already automatically referenced by the build system.


我是否缺少特定更新?我是否需要重新引用mscorlib?如果是这样,我该怎么做?有没有一种方法可以使项目与System.Core.dll而不是mscorlib一起使用?

最佳答案

寻求帮助后,我已经卸载了.Net 4.5并安装了4.0,以便项目可以编译,但是我收到以下错误消息:

 Could not load file or assembly 'Microsoft.VisualBasic.Activities.Compiler' or one of its dependencies. An attempt was made to load a program with an incorrect format.


要解决此问题,我必须重新安装.Net 4.5并重新应用VS 2010 SP1。该项目现在正在运行!

10-08 05:19