好像是从.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?为什么这个文件夹在服务器上不存在?
最佳答案
Reference Assemblies 文件夹用于 Visual Studio。而实际部署的应用程序将使用 c:\Windows\Microsoft.Net\Assembly 中的 GAC。我假设您没有在您的服务器上安装 Visual Studio,因此您不会有 Reference Assemblies 文件夹。
如果您在服务器上托管 WCF,则需要确保安装了 .NET 4.0 Full Framework 而不仅仅是客户端框架。
关于c# - 缺少 .NET 4.0 的引用程序集文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8153048/