Ошибка появилась после обновления студии через Windows Update, на какое-то время излечилась откатом обновлений, потом появилась снова - уже без всяких обновлений. Используемые версии -
CSP 4.0.9680
.NET 1.0.5913.0
.NET SDK 1.0.5913.0
Microsoft Visual Studio 2010 Ultimate 10.0.30319
В случае Windows forms, студия просто падает, если выбрать дебаг - студия выводит ту же ошибку, что и для вебсервера (ниже). При добавлении студии в исключения
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude
исправляет вылеты, однако делает невозможным использование подписи в отлаживаемом приложении.
В случае запуска WCF-приложения, ошибка вылетает при старте нового экземпляра вебсервера.
При добавлении WebDev.WebServer40 в исключения в ветке реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude
исправляет вылеты, но так же не даёт ничего подписывать.
Детали ошибки:
Exception of type 'System.ExecutionEngineException' was thrown.
[Native to Managed Transition]
> CryptoPro.Sharpei.CorLib.dll!CryptoPro.Sharpei.NetDetours.CrossDomainList.TracedInvoke(System.Reflection.MethodInfo mi, object obj, object[] parameters) + 0x1e bytes
CryptoPro.Sharpei.CorLib.dll!CryptoPro.Sharpei.NetDetours.CrossDomainList.CreateDomain(System.AppDomain newDomain) + 0x111 bytes
CryptoPro.Sharpei.CorLib.dll!CryptoPro.Sharpei.NetDetours.CPAppDomain.CreateDomain(string friendlyName, System.Security.Policy.Evidence securityInfo, System.AppDomainSetup info) + 0x43 bytes
mscorlib.dll!System.AppDomain.CreateDomain(string friendlyName, System.Security.Policy.Evidence securityInfo, System.AppDomainSetup info, System.Security.PermissionSet grantSet, System.Security.Policy.StrongName[] fullTrustAssemblies) + 0x95 bytes
System.Web.dll!System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(string appId, System.Web.Hosting.IApplicationHost appHost, System.Web.Hosting.HostingEnvironmentParameters hostingParameters) + 0x125e bytes
System.Web.dll!System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(string appId, System.Web.Hosting.IApplicationHost appHost, System.Web.Hosting.HostingEnvironmentParameters hostingParameters) + 0x25 bytes
System.Web.dll!System.Web.Hosting.ApplicationManager.GetAppDomainWithHostingEnvironment(string appId, System.Web.Hosting.IApplicationHost appHost, System.Web.Hosting.HostingEnvironmentParameters hostingParameters) + 0x7a bytes
System.Web.dll!System.Web.Hosting.ApplicationManager.CreateObjectInternal(string appId, System.Type type, System.Web.Hosting.IApplicationHost appHost, bool failIfExists, System.Web.Hosting.HostingEnvironmentParameters hostingParameters) + 0x48 bytes
System.Web.dll!System.Web.Hosting.ApplicationManager.CreateObject(string appId, System.Type type, string virtualPath, string physicalPath, bool failIfExists, bool throwOnError) + 0x8c bytes
System.Web.dll!System.Web.Hosting.ApplicationManager.CreateObject(string appId, System.Type type, string virtualPath, string physicalPath, bool failIfExists) + 0x35 bytes
WebDev.WebHost40.dll!Microsoft.VisualStudio.WebHost.Server.GetHost() + 0xe3 bytes
WebDev.WebHost40.dll!Microsoft.VisualStudio.WebHost.Server.OnSocketAccept(object acceptedSocket) + 0x65 bytes
mscorlib.dll!System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(object state) + 0x3e bytes
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) + 0x108 bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) + 0x17 bytes
mscorlib.dll!System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() + 0x5b bytes
mscorlib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch() + 0x1ea bytes
mscorlib.dll!System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() + 0x6 bytes
[Native to Managed Transition]
Буду рад предоставить дополнительную информацию, если это поможет решить проблему.