使用 VS11 RC。我有一个用 C++ 编写的客户端可执行文件,我正在尝试使用 C# 单元测试库(Metro 风格应用程序)项目进行测试。测试失败,异常Class not registered HRESULT 0x80040154 (REGDB_E_CLASSNOTRG);我相信这与测试项目中的警告有关:可执行文件'Client.exe'被指定为winmd文件'C:.Client.winmd'的实现。仅支持进程内服务器在应用清单中生成注册信息。您需要在应用清单中指定进程外服务器注册信息。
在我看来,MSTest 正在寻找作为 COM 对象的类,并且警告告诉我需要将其指定为进程外服务器。不幸的是,我不认为我想这样做,因为它是一个可执行文件,即使这是我想要的,我也不知道该怎么做。
我可以简单地将被测类移到另一个项目中,但我不想这样做没有比“我无法让它工作”更好的理由。
有没有办法对 Metro 可执行文件中定义的类进行单元测试?