C#未能加载文件或程序集它的某一个依赖项。系统找不到指定的文件记录

起因:

使用vs添加引用直接引用本地的dll文件

代码运行生成没有报异常,运行调试的时候报“未能加载文件或程序集”

错误日志

=== 预绑定状态信息 ===
日志: DisplayName = ESRI.ArcGIS.System, Version=10.2.0.0, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86
 (Fully-specified)
日志: Appbase = file:///E:/Product2018_Server/
日志: 初始 PrivatePath = E:\Product2018_Server\bin
调用程序集: ESRI.ArcGIS.Geometry, Version=10.2.0.0, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86。
===
日志: 此绑定从 default 加载上下文开始。
日志: 正在使用应用程序配置文件: E:\Product2018_Server\web.config
日志: 使用主机配置文件: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
日志: 使用 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config 的计算机配置文件。
日志: 策略后引用: ESRI.ArcGIS.System, Version=10.2.0.0, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86
日志: 尝试下载新的 URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/f2091c4f/e28db9d4/ESRI.ArcGIS.System.DLL。
日志: 尝试下载新的 URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/f2091c4f/e28db9d4/ESRI.ArcGIS.System/ESRI.ArcGIS.System.DLL。
日志: 尝试下载新的 URL file:///E:/Product2018_Server/bin/ESRI.ArcGIS.System.DLL。
日志: 尝试下载新的 URL file:///E:/Product2018_Server/bin/ESRI.ArcGIS.System/ESRI.ArcGIS.System.DLL。
日志: 尝试下载新的 URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/f2091c4f/e28db9d4/ESRI.ArcGIS.System.EXE。
日志: 尝试下载新的 URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/f2091c4f/e28db9d4/ESRI.ArcGIS.System/ESRI.ArcGIS.System.EXE。
日志: 尝试下载新的 URL file:///E:/Product2018_Server/bin/ESRI.ArcGIS.System.EXE。
日志: 尝试下载新的 URL file:///E:/Product2018_Server/bin/ESRI.ArcGIS.System/ESRI.ArcGIS.System.EXE。

原因:

生成的时候没有把引用的dll文件复制到bin文件下,原因是引用dll时属性中的“复制本地”被设置为False,且不可更改

解决措施:

需要先将“嵌入互操作类型”的属性设置为False,再将“复制本地”的属性设置为True

这样在生成代码的时候bin文件就会有对应的dll文件

posted @ 2020-09-29 16:04  jiu画  阅读(2217)  评论(0)    收藏  举报