尝试从加载的程序集调用时发生C#异常

尝试从加载的程序集调用时发生C#异常,c#,.net,.net-assembly,C#,.net,.net Assembly,我手头有以下情况:2个C#文件(一个可执行文件:A.exe,一个dll:B.dll)。可执行文件加载B的程序集,并尝试从B调用构造函数(从a中的类获取引用) 好吧,到目前为止,它在一般情况下运行良好。尝试使用8.3文件名路径从脚本运行exe时出现问题,例如: start C:\testpa~1\A.exe 此时,加载失败,出现以下异常:“A.IfaceModel”类型的对象无法在第行上转换为“A.IfaceModel”类型 fullIface = contrs[0].Invoke(new ob

我手头有以下情况:2个C#文件(一个可执行文件:A.exe,一个dll:B.dll)。可执行文件加载B的程序集,并尝试从B调用构造函数(从a中的类获取引用)

好吧,到目前为止,它在一般情况下运行良好。尝试使用8.3文件名路径从脚本运行exe时出现问题,例如:

start C:\testpa~1\A.exe
此时,加载失败,出现以下异常:“A.IfaceModel”类型的对象无法在第行上转换为“A.IfaceModel”类型

fullIface = contrs[0].Invoke(new object[] { this, forceStartMenu });
据我所知,通过使用此路径运行exe,A中A的程序集信息与B中A的程序集信息会有所不同,并崩溃

我知道不应该再使用短文件名了,但这是一个有效的测试用例,我想知道是否有什么办法


谢谢。

我尝试过复制此功能,但未能成功(即使通过8.3短名称启动,它似乎也能正常工作)。您能否提供一些代码,或者理想情况下提供一个可编译的最小示例来重现该问题?不幸的是,我也无法在一个简单的项目中重现该问题。似乎它与原始项目的行为特别相关,不幸的是,我无权共享代码。也许有人曾经遇到过这个问题,希望如此。无论如何,谢谢你的努力。