1

我有一个使用 VS2008 并使用 .Net 3.5 制作的项目 P1。它编译得很好,没有问题。然后我制作了操作系统的快照并安装了 VS2010。现在 P1 不能用 VS2008 编译。我得到的错误是这个。

C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets : warning MSB3246:  
Resolved file has a bad image, no metadata, or is otherwise inaccessible. Could not 
load file or assembly 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.dll

我有以下文件夹(OS Win2008 R2,SP1)

C:\Windows\Microsoft.NET\Framework\v1.0.3705
C:\Windows\Microsoft.NET\Framework\v1.1.4322
C:\Windows\Microsoft.NET\Framework\v2.0.50727
C:\Windows\Microsoft.NET\Framework\v3.0
C:\Windows\Microsoft.NET\Framework\v3.5
C:\Windows\Microsoft.NET\Framework\v4.0.30319



C:\Windows\Microsoft.NET\Framework64\v2.0.50727
C:\Windows\Microsoft.NET\Framework64\v3.0
C:\Windows\Microsoft.NET\Framework64\v3.5
C:\Windows\Microsoft.NET\Framework64\v4.0.30319

请让我知道发生了什么。如果我回滚快照一切正常。

4

1 回答 1

3

看起来您的项目已转换并更新为使用 .NET 4。它引用的是 .NET 4.0 版本System.dll,而不是 .NET 3.5 版本。

如果您将项目编辑为以 .NET 3.5 为目标,并确保所有引用的程序集也以 .NET 3.5 为目标,那么它应该可以正常工作。

请注意,C# 项目文件本身在 VS 2008 和 VS 2010 之间不兼容。项目的版本兼容性是 VS 2010 sp1 及更高版本中的一项新功能(因此您可以在 VS 2012 和 VS 2010 sp1 之间共享),但不适用于与 2008 年相比。

于 2013-06-17T17:52:08.667 回答