我有一个WCF服务,托管在IIS中,是使用Visual Studio构建的。该WCF服务库引用了一些其他程序集,这些程序集是同一Visual Studio解决方案的一部分。
我将所有程序集部署到GAC中,然后启动服务客户端,看到它无法解析其中一个已引用的客户端程序集而失败。我在WCF服务构造函数中添加了一个断点,发现它似乎不使用限定名称(因此找不到它们在GAC中)。如果我在IIS中的WCF构造函数中断点时在立即窗口中运行Assembly.Load,我可以使用限定名称(publickeytoken等)加载每个缺失的dll。
为什么CLR或我的服务库尝试仅使用名称加载库?
我将所有程序集部署到GAC中,然后启动服务客户端,看到它无法解析其中一个已引用的客户端程序集而失败。我在WCF服务构造函数中添加了一个断点,发现它似乎不使用限定名称(因此找不到它们在GAC中)。如果我在IIS中的WCF构造函数中断点时在立即窗口中运行Assembly.Load,我可以使用限定名称(publickeytoken等)加载每个缺失的dll。
为什么CLR或我的服务库尝试仅使用名称加载库?