我正在开发使用 VS2005 C++/CLI 库的 .NET 4 应用程序。围绕 C++/CLI 库的测试是基于自定义控制台的测试运行器,有点笨拙。我一直在尝试使用 nunit 编写一些新的测试。
问题是基于控制台的应用程序可以加载所有依赖程序集,但 Nunit 抱怨它找不到程序集(例如 System.Runtime.Serialization.SerializationException : Unable to find assembly 'msvcm80, Version=8.0.50727.6195, Culture=neutral, PublicKeyToken= b03f5f7f11d50a3a')。
我已经确定基于控制台的应用程序正在 C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\mscvm80.dll 中加载程序集,并将此文件手动复制到构建目录和测试运行程序目录。这无济于事。
Depends.exe 告诉我 GPSCV.DLL 和 IESHIMS.DLL 找不到,但这并不能阻止控制台应用程序加载依赖项,因此不确定这是否重要。
有没有人对具有旧 C++/CLI 库依赖项的 Nunit 测试进行故障排除的任何提示?