使用WebService的System.IO.FileLoadException

时间:2015-05-28 14:54:11

标签: c# .net web-services asmx assemblies

我正在使用Visual Studio 2013,我正在尝试使用Nuance SDK中的程序集DNSTools创建一个Web服务。我的WebMethod非常简单:我只是从DNSTools的类中创建一个对象,然后返回“Hello World”。

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和进程监视器,我找不到哪个程序集是问题的根源。

1 个答案:

答案 0 :(得分:0)

转到“项目属性”,在“构建”选项卡中,选择X86作为平台目标,如果已经是X86则将de更改为64

在VS - 项目属性中 - 在Build选项卡中 - platform target = X86