1

我使用空的 Web 应用程序模板在 VS2015 中创建了一个 .NET Core Web 应用程序。它针对完整的框架 4.6.1。它适用于我在许多其他网络应用程序中使用的中间件。我按照此处的说明进行操作,当我将中间件与另一个 Web 应用程序集成时,它就可以工作。

现在我想为它编写一些单元测试,所以我创建了一个针对相同框架的单元测试项目(使用测试项目模板)。然后我引用了具有我要单元测试的中间件类的项目。但是当我尝试在我的单元测试方法中使用中间件类时,VS 会抱怨说它找不到它,即使我使用完全限定的命名空间键入。事实上,Intellisense 并没有在目标项目中引入任何类。如果我尝试构建单元测试项目,它会返回一个错误:The type or namespace name 'xxxxMiddleware' could not be found (are you missing a using directive or an assembly reference?). 当我进入我的测试单元的引用并双击作为我的单元测试目标的项目时,VS 会弹出消息The project cannot be viewed in the object browser because it is unavailable or not yet built. Please ensure that the project is available and built.

我究竟做错了什么?

更新

如果我.exe为我的目标项目引用 ,它会设法解析我的中间件类。很奇怪!在我得到更好的答案之前,我现在可能不得不做这个解决方法。

更新 2

我说得太早了。添加.exe让我编译我的单元测试项目。但是如果我运行测试,我会收到一条错误消息System.BadImageFormatException: Could not load file or assembly '{assembly for the target of my test}' or one of its dependencies. An attempt was made to load a program with an incorrect format.。什么样的恶梦。

4

0 回答 0