Web服务无法在GAC中使用类型创建类型错误

遇到一个不寻常的问题,似乎我喜欢做一些不常见的事情。

我有一个复合控件,它检查我的应用程序的根目录中是否存在给定的Web服务文件,如果不存在,它会在标记中创建带有必要指令的文件以进行滚动,例如:

 

反过来,它被保存到输出。 完成此步骤后,将启动应用程序池上的回收以在IIS中呈现新页面。

该指令指向的程序集是GAC部署的,但是当ASMX通过IIS提供服务时,由于某些原因被忽略。 如果我将程序集复制到BIN目录中,应用程序工作正常,但是,我想将此解决方案部署为我的SharePoint场中的Web部件更新,并且在我的应用程序中启用了完全信任不是我想要的路径走。

我假设ASMX文件或从GAC部署的程序集中的类inheritance的任何文件被忽略是正确的吗? 我不明白为什么会这样,据我所知,IIS会在BIN中尝试映射程序集,如果找不到,它会去询问GAC是否可以找到它在那里,对吗?

在GAC中引用Web服务程序集时,需要使用如下所示的程序集的完整类名:

<%@ WebService Language="C#" Class="Company.Project.Assembly.ClassName, Company.Project.Assembly, version=1.0.0.0, Culture=neutral, PublicKeyToken=0000000000000000" %>

我们还将Web服务部署到SharePoint,这对我们来说非常有效。