1

在此处输入图像描述我最近将我的解决方案从 .netframework 4 升级到了 4.7.2(它在 VS 2010 中,我使用 VS2019 对其进行了升级)。该解决方案包含 WCF 服务和一些类库和一个 mvc 3 网站。我在运行我的网站时没有遇到任何问题,并且它可以正常运行。但是,我的其他同事得到了我的更改,但出现了以下错误。最近安装的VS 2019,奇怪的是我没有问题,但其他有,错误如下:

异常类型:System.ServiceModel.ServiceActivationException,System.ServiceModel,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089

消息: 由于编译期间出现异常,无法激活服务“/Reporting/ReportingService.svc”。异常消息是:服务编译期间无法加载 CLR 类型“X.Services.Reporting.WebService.ServiceBehaviours.ReportingServiceHostFactory”。验证此类型是否定义在位于应用程序的 \App_Code 目录的源文件中、包含在位于应用程序的 \bin 目录的已编译程序集中,或者存在于安装在全局程序集缓存中的程序集中。请注意,类型名称区分大小写,\App_Code 和\bin 等目录必须位于应用程序的根目录中,不能嵌套在子目录中。

堆栈跟踪: System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath, EventTraceActivity eventTraceActivity) System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest() System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest() System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest(Object state) System.Runtime.IOThreadScheduler.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped) System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped) System.Threading._IOCompletionCallback.PerformIOCompletionCallback( UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

这让我觉得我的机器上可能有一些东西,而其他人没有。任何建议将不胜感激。

请注意我不直接使用 servicehostfactory

公共类 ReportingServiceHostFactory : UnityServiceHostFactory {....}

这就是我的 svc 文件的 <%@ ServiceHost Language="C#" Debug="true" Service="X.Services.Reporting.WebService.RepotingService" Factory="X.Services.Reporting.WebService.ServiceBehaviours.ReportingServiceHostFactory"% >

任何帮助将非常感激!

谢谢,

4

1 回答 1

0

我发现了问题所在。问题是在我的所有项目中将平台从 x86 更改为 AnyCPU 后的平台问题已修复。我认为原因是在 x86 平台上,调试文件夹嵌套在 X*^ 文件夹中,这导致了问题

于 2020-09-24T15:43:54.867 回答