从.NET 3.0开始,微软将一些常见程序集移动到以下目录:
C:\Program Files\Reference Assemblies\Microsoft\Framework\xxx
这是为了支持他们分离CLR 2.0和CLR 4.0 GAC的努力(还加入了
C:\%windir%\Microsoft.NET\assembly
)。
然而,在我的开发机器上,我既有
C:\Program Files\Reference Assemblies\Microsoft\Framework\xxx
又有
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
但在刚安装.NET 4.0的服务器上,后者并不存在。在部署WCF项目时,该项目引用了此文件夹中的一些公共DLL,并且找不到它们。
我做错了什么?我应该显式更改这些引用以使用新的4.0 GAC吗?为什么服务器上没有这个文件夹?
Program files(x86)
文件夹。不过这是个好建议! - Michael Kingsmill