gpt4 book ai didi

c# - 是什么导致 RoleEnvironment 初始值设定项中的 ModuleLoadException?

转载 作者:太空狗 更新时间:2023-10-30 00:40:13 26 4
gpt4 key购买 nike

我正在使用 WCF 服务调试类库,该服务使用 Windows 8.1 上安装的 Azure SDK 2.4,使用 WCF 测试客户端和 Visual Studio 2013 Ultimate 调试器。该库是使用 AnyCPU 编译的。调用 RoleEnvironment.IsAvailable 时发生异常。以下是详细信息:

  Message=The type initializer for 'Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment'   threw an exception.
...
InnerException: System.TypeInitializationException
Message=The type initializer for '<Module>' threw an exception.
Source=Microsoft.WindowsAzure.ServiceRuntime
TypeName=<Module>
StackTrace:
at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeEnvironment()
at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment..cctor()
InnerException: <CrtImplementationDetails>.ModuleLoadException
HResult=-2146233088
Message=The C++ module failed to load while attempting to initialize the default appdomain.
Source=msshrtmi
StackTrace:
at <CrtImplementationDetails>.ThrowModuleLoadException(String errorMessage, Exception innerException)
at <CrtImplementationDetails>.LanguageSupport.Initialize(LanguageSupport* )
at .cctor()
InnerException: System.Runtime.InteropServices.COMException
HResult=-2146234334
Message=Invalid operation. (Exception from HRESULT: 0x80131022)
Source=mscorlib
ErrorCode=-2146234334
StackTrace:
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at <CrtImplementationDetails>.GetDefaultDomain()
at <CrtImplementationDetails>.DoCallBackInDefaultDomain(IntPtr function, Void* cookie)
at <CrtImplementationDetails>.DefaultDomain.Initialize()
at <CrtImplementationDetails>.LanguageSupport.InitializeDefaultAppDomain(LanguageSupport* )
at <CrtImplementationDetails>.LanguageSupport._Initialize(LanguageSupport* )
at <CrtImplementationDetails>.LanguageSupport.Initialize(LanguageSupport* )

启用非托管代码调试没有给我任何新信息。我尝试安装最新版本的 Azure SDK,将 useLegacyV2RuntimeActivationPolicy="true" 标志添加到配置文件,但这些都没有帮助。从我的测试项目调用的相同库代码无一异常(exception)地工作。同时使用 x86 和 x64 测试设置。调试文件夹似乎包含完全相同版本的 ServiceRuntime dll。

是什么导致了这个异常,我该如何解决?

最佳答案

我找到了解决与您的问题类似的问题的方法(与 MS Connect 错误相同)

Win10、VS2015。使用 Fusion Log Viewer 我发现我的 VS 测试运行器是 te.processhost.managed.exe。按照类似的说明找到here ,我将以下内容添加到 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\TE.processHost.managed.exe.config

<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

重新启动 Visual Studio,测试开始工作。

关于c# - 是什么导致 RoleEnvironment 初始值设定项中的 ModuleLoadException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29969741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com