У меня есть управляемая DLL, которая внутренне ссылается на пару неуправляемых DLL.Эта управляемая DLL добавлена как ссылка на мой сервисный проект WCF.Однако неуправляемые библиотеки DLL должны быть вручную скопированы в путь вывода сборки моего проекта.На них нельзя ссылаться в Visual Studio.
Если я попытаюсь запустить свою служебную DLL-библиотеку на узле службы WCF в Visual Studio, последний аварийно завершает работу без каких-либо исключений и автоматически перезапускается.Sampe применяется, если я пытаюсь разместить службу DLL в IIS.Мне удалось перехватить один из журналов сбоев WERReportMetadata при попытке разместить его в IIS, и в поле «ProblemSignatures» написано:
<ProblemSignatures>
<EventType>CLR20r3</EventType>
<Parameter0>webdev.webserver40.exe</Parameter0>
<Parameter1>10.0.0.0</Parameter1>
<Parameter2>4d5f345a</Parameter2>
<Parameter3>GTAPIASM</Parameter3>
<Parameter4>2.0.5.0</Parameter4>
<Parameter5>4e9254a5</Parameter5>
<Parameter6>166</Parameter6>
<Parameter7>23</Parameter7>
<Parameter8>System.AccessViolationException</Parameter8>
</ProblemSignatures>
Что это значит и что я могу с этим сделать?Любой справочный материал по хостингу WCF с неуправляемыми DLL тоже будет полезен.
Редактировать 1: Копирование неуправляемых DLL-файлов в% systemroot% \ syswow64 позволяет мне размещать свою службу с помощью Visual Studio WCF Service Host.Я получил совет от здесь .Однако это не останавливает сбой WebDev.WebDServer40.exe.
Редактировать 2 Это ошибка .NET Runtime, полученная из Просмотрщика событий:
Приложение: WebDev.WebServer40.exe Framework Версия: v4.0.30319 Описание:процесс был прерван из-за необработанного исключения.Сведения об исключении: стек исключений System.TypeInitializationException: в System.RuntimeMethodHandle._InvokeConstructor (System.IRuntimeMethodInfo, System.Object [], System.SignatureStruct ByRef, System.RuntimeType) в System.RuntimeMethodIRjectOto.Into.OnjectOn.IntoIn.Info.Into.Inject.Inject.Inject.Inject.OntInIn.In (, System..CreateImplementation (System.Type) в System.ServiceModel.Description.ServiceDescription.SetupSingleton (System.ServiceModel.Description.ServiceDescription, System.Object, Boolean) в System.ServiceModel.Description.ServiceDescription.GetSyservice (System.ServiceModel.ServiceHost.CreateDescription (System.Collections.Generic.IDictionary`2 ByRef) в System.ServiceModel.ServiceHostBase.InitializeDescription (System.ServiceModel.UriSchemeKeyedCollection) в System.ServiceModel.ServiceHost.InitializeDescription (System.Type, System.ServiceModel.UriSchemeKeyedCollection) в System.ServiceModel.ServiceHost..ctor (System.Type, System.Uri []) в System.ServiceFactSAvice.ServiceFodel.CreateServiceHost (System.Type, System.Uri []) в System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost (System.String, System.Uri []) в System.ServiceModel.ServiceHostingEnvironment + HostingManager.CreateService в System (.ServiceModel.ServiceHostingEnvironment + HostingManager.ActivateService (System.String) в System.ServiceModel.ServiceHostingEnvironment + HostingManager.EnsureServiceAvailable (System.String) в System.ServiceModel.ServiceHextSecureSnSureFidSignSignSignSigner_Serv_Server_Med_Serv_RuText_MeHandleRequest () в System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest () в System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest (System.Object) в System.Runtime.IOThreadScheduler + ScheduledOverlapped.в System.Threading._IOCompletionCallback.PerformIOCompletionCallback (UInt32, UInt32, System.Threading.NativeOverlapped *)
Edit 2:
Оказывается, мне нужно бежатьVisual Studio в качестве администратора на все времена.Это устраняет предыдущую ошибку.
Спасибо.