Я использую Visual Studio 2013, и я пытаюсь создать веб-сервис, используя сборку DNSTools из Nuance SDK. Мой WebMethod очень прост: я просто создаю объект из класса DNSTools, а затем возвращаю «Hello World».System.IO.FileLoadException с WebService
using DNSTools;
namespace WebTestFinal
{
public class WebServiceTestFinal : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
DgnDictCustom dgn = new DgnDictCustom();
return "Hello World";
}
Однако, когда я достигаю линии:
DgnDictCustom dgn = new DgnDictCustom();
Он бросает мне эту ошибку:
System.IO.FileLoadException: Retrieving the COM class factory for component with CLSID {A0E850E3-91DB-11D1-96DC-0080C72FD13C} failed due to the following error: 8007045a. A dll initialization routine failed. (Exception of HRESULT : 0x8007045A).
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at WebTestFinal.WebServiceTestFinal.HelloWorld()
Я сделал некоторые исследования и выяснили, что System.IO.FileLoadException
был брошен, потому что сборка не может быть загружен. Несмотря на использование Fuslogvw.exe
и Process Monitor, я не могу найти, какая сборка является корнем проблемы.
DgnDictCustom - это объект [COM] (http://en.wikipedia.org/wiki/Component_Object_Model), который является ошибкой. Обратитесь к поставщику сборки – Liam
ASMX является устаревшей технологией и не должен использоваться для новой разработки. WCF или ASP.NET Web API должны использоваться для всех новых разработок клиентов и серверов веб-сервисов. Один из намеков: Microsoft отстранила [ASMX Forum] (http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads) в MSDN. –