在IIS中部署我的WCF服务后,访问该服务时出现此错误:
'/ MyService'应用程序中的服务器错误 . 给定的程序集名称或代码库无效 . (来自HRESULT的异常:0x80131047)描述:在执行当前Web请求期间发生了未处理的异常 . 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息 . 异常详细信息:System.IO.FileLoadException:给定的程序集名称或代码库无效 . (来自HRESULT的异常:0x80131047)源错误:在执行当前Web请求期间生成了未处理的异常 . 可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息 . 堆栈跟踪:[FileLoadException:给定的程序集名称或代码库无效 . (来自HRESULT的异常:0x80131047)] System.RuntimeTypeHandle.GetTypeByName(String name,Boolean throwOnError,Boolean ignoreCase,Boolean reflectionOnly,StackCrawlMarkHandle stackMark,IntPtr pPrivHostBinder,Boolean loadTypeFromPartialName,ObjectHandleOnStack type)0 System.RuntimeTypeHandle.GetTypeByName(String name,Boolean throwOnError) ,Boolean ignoreCase,Boolean reflectionOnly,StackCrawlMark&stackMark,IntPtr pPrivHostBinder,Boolean loadTypeFromPartialName)153 System.TypeModel.HostingManager.CreateService(String normalizedVirtualPath,EventTraceActivity eventTraceActivity)936 System.ServiceModel.HostingManager.ActivateService( ServiceActivationInfo serviceActivationInfo,EventTraceActivity eventTraceActivity)76 System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath,EventTraceActivity eventTraceActivity)901 [ServiceActivationException:服务'/MyService/MySvcImpl.svc'不能激活由于编译期间的异常而导致的 . 异常消息是:给定的程序集名称或代码库无效 . (来自HRESULT的异常:0x80131047) . ] System.Runtime.AsyncResult.End(IAsyncResult result)650220 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result)210733 System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar)166
我打开了程序集绑定日志查看器(FUSLOGVW.EXE),但它没有显示任何绑定失败 . 任何人都知道是什么原因造成的,或者如何调试这个?
1 回答
发现了这个问题!在这里发布,因为它可能有一天会帮助某人 .
我的web.config包含一个服务激活元素,其工厂属性如下:
factory属性包含来自强名称程序集的类引用 . 但是,PublicKeyToken属性应该由构建系统设置为正确的值,具体取决于是使用了测试签名证书还是正式签名证书 . 构建步骤以某种方式失败并使程序集的强名称无效 . 因此,异常中消息的第一部分非常精确 . 它只是没有告诉我哪个组件无法加载 . FUSLOGVW.EXE也没有任何帮助 .