vs运行项目报错:System.IO.FileLoadException:“未能加载文件或程序集“Autodesk.Navisworks.Api, Version=17.0.1336.83, Culture=neutral, PublicKeyToken=d85e58fa5af9b484”或它的某一个依赖项。参数超出了其合法范围。 (异常来自 HRESULT:0x80131502)”。
排查了这个问题很久,首先确保引用的Autodesk.Navisworks.Api.dll库是匹配的,经检查这个库是正常能用的,那么接下来就排查这个库的依赖项是否都正确引用了,这里查看的exe或dll文件有哪些依赖项的工具是Dependencies(x64版)。
Dependence工具地址:
lucasg/Dependencies(开源版的现代 Dependency Walker)
仓库源码地址:https://github.com/lucasg/Dependencies
Dependencies.exe下载最新版地址:
x86
x64
下载后找到并打开DependenciesGui.exe,打开软件后File—>open–>选择项目报错的dll库(我这里是Autodesk.Navisworks.Api.dll)。打开后可以查看库的每个依赖项,依次检查是否有标红的项,如下图我的标红的库表示在项目中找不到,依次在电脑磁盘中查找这些标红的库,找到这些库后将库文件复制到项目的输出目录下,再次运行上述报错就消失了。