我正在使用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
和进程监视器,我找不到哪个程序集是问题的根源。
答案 0 :(得分:0)
转到“项目属性”,在“构建”选项卡中,选择X86作为平台目标,如果已经是X86则将de更改为64
在VS - 项目属性中 - 在Build选项卡中 - platform target = X86