问题描述
C#写的多线程,然后用C++调用C#的exe,本机测试正常。换别的机器都出现这个错误。FastReport.dll这些机器上都有,没问题。感觉很诡异,看了很多类似的,均无解!请大师指点!!!谢谢谢
解决方案
解决方案二:
主要是本机测试正常。。。。。。。
解决方案三:
FastReport是一个强名称签名了的程序集,你的清单文件.manifest中引用的必须一致
解决方案四:
应该还是执行环境的问题,FastReport.dll的问题需要看的是该程序集是否是全局强名,如果你在本机已经注册了该程序集为强名称而你是直接在你的清单中引用的需要看下这个程序集是否存在其它的依赖项,可能你在本机使用该功能的时候该程序集的依赖项是完整的,而且依赖项也是全局的,那么你放的部署环境后不是这个FastReport.dll没完全工作,而是无法找到完整的依赖项。可能你只认为FastReport.dll本身已经完成你所有的功能,只要存在FastReport.dll就可以完成全部,所以你还需要确认FastReport.dll是否真是你理解的那样是单一程序集而不存在相关的依赖。
解决方案五:
引用2楼dongxinxi的回复:
FastReport是一个强名称签名了的程序集,你的清单文件.manifest中引用的必须一致
.manifest<?xmlversion="1.0"encoding="UTF-8"standalone="yes"?><assemblyxmlns="urn:schemas-microsoft-com:asm.v1"manifestVersion="1.0"><assemblyIdentityversion="1.0.0.0"name="MyApplication.app"/><trustInfoxmlns="urn:schemas-microsoft-com:asm.v2"><security><requestedPrivilegesxmlns="urn:schemas-microsoft-com:asm.v3"><requestedExecutionLevellevel="asInvoker"uiAccess="false"/></requestedPrivileges></security></trustInfo></assembly>
没看出来有什么,请指教一下,谢谢
解决方案六:
引用3楼wthwinner2003的回复:
应该还是执行环境的问题,FastReport.dll的问题需要看的是该程序集是否是全局强名,如果你在本机已经注册了该程序集为强名称而你是直接在你的清单中引用的需要看下这个程序集是否存在其它的依赖项,可能你在本机使用该功能的时候该程序集的依赖项是完整的,而且依赖项也是全局的,那么你放的部署环境后不是这个FastReport.dll没完全工作,而是无法找到完整的依赖项。可能你只认为FastReport.dll本身已经完成你所有的功能,只要存在FastReport.dll就可以完成全部,所以你还需要确认FastReport.dll是否真是你理解的那样是单一程序集而不存在相关的依赖。
哦,FastReport.dll是强命名的也就是说,我要把它需要的所有文件都考过去,才行?谢谢