从单元测试在自定义AppDomain中运行C#应用程序时,强名称验证失败 我有一个程序使用非托管C++代码,我想编写单元测试(好,更像系统测试)。
我想在不同的AppDomain中从单元测试运行整个程序,这样我就能够更容易地注入测试程序代码 问题是,当我尝试运行它时,会出现以下错误:从单元测试在自定义AppDomain中运行C#应用程序时,强名称验证失败 我有一个程序使用非托管C++代码,我想编写单元测试(好,更像系统测试)。,c#,unit-testing,appdomain,strongname,C#,Unit Testing,Appdomain,Strongname,我想在不同的AppDomain中从单元测试运行整个程序,这样我就能够更容易地注入测试程序代码 问题是,当我尝试运行它时,会出现以下错误: The C++ module failed to load while attempting to initialize the default appdomain (source: my own code) Inner Exception: Strong name validation failed. (Exception from HRESULT: 0
The C++ module failed to load while attempting to initialize the default appdomain
(source: my own code)
Inner Exception:
Strong name validation failed. (Exception from HRESULT: 0x8013141A)
(source: msvcm90)
我使用MSTest作为测试环境
我已经尝试过修改一些app.config
文件,但可能是错误的。我还尝试使用AppDomainSetup
对象,但我不知道如何在那里配置以防止它执行强名称检查
我正在使用AppDomain.ExecuteAssembly从单元测试启动应用程序
编辑
我最近尝试的是使用appDomain.CreateInstanceAndUnwrap
加载我创建的代理类,该类还实现了MarshalByRefObject
。代理类可以很好地加载,但在其中我尝试调用启动初始化并运行我想要测试的实际代码的函数,而上面的错误仍然发生
我尝试过使用
fuslogvw.exe
,但没有任何效果。我猜这是因为加载非托管DLL失败。请使用Fuslogvw.exe对此进行故障排除。当你需要更多帮助时,发布你得到的跟踪信息。试过了。不幸的是,Fuslogvw什么也没给我。它无法加载本机代码,因此fuslogvw不会显示它。这不太可能,请尝试从提升的命令提示符启动fuslogvw。是的,我对fusion日志并不陌生。