Visual Studio 2015 plus Windows 10 - Solution for 'System.TypeInitializationException: The type initializer for 'Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment'
It seems that the below Exception is following me like a ghost with each new version of Visual Studio.
When the below code is called from or by unit tests I get the above exception.
This is an error that I started to see in VS 2010, VS 2012, VS 2013 and now on VS2015 in combination with Windows 10 (Azure SDK 2.8.2, .NET 4.5).
The old solution still works, by adding in the config file of the startup node to the process host used by the Unit Test engine.
Solution:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\TE.processHost.managed.exe.config
You should end up with something like this:
The file that you need to change may be different, based on what version of VS and .NET you are using.
Good luck!
System.TypeInitializationException: The type initializer for 'Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment' threw an exception. ---> System.TypeInitializationException: The type initializer for '<Module>' threw an exception. ---> <CrtImplementationDetails>.ModuleLoadException: The C++ module failed to load while attempting to initialize the default appdomain.
---> System.Runtime.InteropServices.COMException: Invalid operation. (Exception from HRESULT: 0x80131022)
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at <CrtImplementationDetails>.GetDefaultDomain()
at <CrtImplementationDetails>.DoCallBackInDefaultDomain(IntPtr function, Void* cookie)
at <CrtImplementationDetails>.LanguageSupport.InitializeDefaultAppDomain(LanguageSupport*)
at <CrtImplementationDetails>.LanguageSupport._Initialize(LanguageSupport*)
at <CrtImplementationDetails>.LanguageSupport.Initialize(LanguageSupport*)
--- End of inner exception stack trace ---
at <CrtImplementationDetails>.LanguageSupport.Initialize(LanguageSupport*)
at .cctor()
--- End of inner exception stack trace ---
at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeEnvironment()
at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment..cctor()
--- End of inner exception stack trace ---
at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.get_IsAvailable()
When the below code is called from or by unit tests I get the above exception.
RoleEnvironment.IsAvailable
This is an error that I started to see in VS 2010, VS 2012, VS 2013 and now on VS2015 in combination with Windows 10 (Azure SDK 2.8.2, .NET 4.5).
The old solution still works, by adding in the config file of the startup node to the process host used by the Unit Test engine.
Solution:
- Add to the following file:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\TE.processHost.managed.exe.config
- The following node under configuration node:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
You should end up with something like this:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
<runtime>
....
</runtime>
<system.diagnostics>
...
</system.diagnostics>
<appSettings>
...
</appSettings>
</configuration>
The file that you need to change may be different, based on what version of VS and .NET you are using.
Good luck!
Comments
Post a Comment