在其他计算机上导入简单库时,出现HRESULT -2147024770

时间:2018-08-08 14:46:52

标签: .net hresult

我在笔记本电脑(Visual Studio 2017,Windows 10)上为Dynamo写了一个简单的DLL插件,只用一种类和一种方法用C ++ / CLI编写,然后尝试将其分发给一些同事进行测试。结果令人喜忧参半:它在某些计算机上导入正常,但在其他计算机上失败。在其中一台故障机器上调试Dynamo之后,我发现这条线:

Assembly.LoadFrom(name);

HRESULT -2147024770引发了异常。

可以在下面找到堆栈跟踪。

不幸的是,互联网上对此的讨论并不多。尽管Sketchup可能更具体,但可以找到一个讨论here。建议较旧版本的Windows可能需要Windows 10 Universal C Runtime。但是,这很奇怪,因为其中一台发生故障的计算机运行Windows 10,并且显然无法安装上述运行时。我尝试安装Windows 10 SDK,但是随后Dynamo无法运行,并且在构建Dynamo时出现以下警告。

  

ALINK:警告AL1073:引用的程序集“ mscorlib.dll”以   不同的处理器

我试图避免安装Visual Studio,因为我们想为潜在的库用户提供预构建的DLL,因此,如果有人可以帮助我解决此问题,我将非常高兴。谢谢。

堆栈跟踪:

  

尝试加载程序集:   C:\ Users \\ Downloads \\ TestInstallZeroTouch.dll   0x6a0已退出,代码为0(0x0)。抛出异常:   mscorlib.dll中的“ System.IO.FileNotFoundException”无法加载文件   或程序集“ TestInstallZeroTouch.dll”或其依赖项之一。的   找不到指定的模块。在   System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName,字符串   codeBase,证据程序集安全性,运行时程序集locationHint,   StackCrawlMark&stackMark,IntPtr,pPrivHostBinder,布尔值   throwOnFileNotFound,用于自检的布尔值,布尔值   抑制在)   System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName   assemblyRef,证据assemblySecurity,RuntimeAssembly reqAssembly,   StackCrawlMark&stackMark,IntPtr,pPrivHostBinder,布尔值   throwOnFileNotFound,用于自检的布尔值,布尔值   抑制在)   System.Reflection.RuntimeAssembly.InternalLoadFrom(字符串   assemblyFile,证据安全性证据,Byte [] hashValue,   AssemblyHashAlgorithm hashAlgorithm,用于自省的布尔值,布尔值   在以下位置抑制SecurityChecks,StackCrawlMark和stackMark)   System.Reflection.Assembly.LoadFrom(String assemblyFile)在   ProtoFFI.FFIExecutionManager.LoadAssembly(String name)在   C:\ Users \\ Downloads \ Dynamo-master \ src \ Engine \ ProtoCore \ FFI \ FFIExecutionManager.cs:line   37在ProtoFFI.CSModuleHelper.getModule(String name)中   C:\ Users \\ Downloads \ Dynamo-master \ src \ Engine \ ProtoCore \ FFI \ CLRDLLModule.cs:line

0 个答案:

没有答案