我有一个带有C ++ / CLI代码的程序集,我想在单元测试项目中引用它。 MSTest说:
Test method Grafik.Implementation.Tests.MappingHelperTests.GetMappedFeatures_OneMappedFeature_OneFeatureReturned threw exception:
System.IO.FileNotFoundException: Die Datei oder Assembly "Graphic.Interface.Managed.dll" oder eine Abhängigkeit davon wurde nicht gefunden. Das angegebene Modul wurde nicht gefunden.
我激活了Fusion Assembly-Binder协议。这说明绑定没问题:
LOG: Die Bindung war erfolgreich. Assembly wird zurückgegeben von C:\xyz\Grafik.Tests\bin\x86\Debug\Graphic.Interface.Managed.dll.
LOG: Die Assembly wird im default-Load-Kontext geladen.
有谁知道这里有什么问题吗?平台是x86。 提前谢谢!
答案 0 :(得分:1)
最有可能的是,您的程序集链接到某些在搜索路径中找不到的DLL。如果C ++ / CLI代码包含“其他依赖项”,则必须将相应的DLL复制到单元测试项目的输出路径,该项目使用C ++ / CLI代码引用程序集。
查看单元测试项目引用的C ++ / CLI项目的项目属性。转到“链接器/输入”属性。如果“附加依赖项”下列出了LIB文件,请确保相应的DLL存在于单元测试项目的输出路径中。
不幸的是,如果无法加载从那里引用的C ++库,那么融合程序集绑定程序协议仍会报告要成功加载的程序集。