gpt4 book ai didi

c# - 当 Controller 位于 asp.net 核心应用程序的单独程序集中时,为什么 TestServer 无法找到 Controller ?

转载 作者:可可西里 更新时间:2023-11-01 03:12:49 25 4
gpt4 key购买 nike

由于某些原因,当 ASP.NET 核心 Controller 在单独的程序集中创建时,当客户端发出请求时,TestServer 无法找到 Controller 操作。(导致 404 响应)这是为什么?我该如何解决?以下是重现的步骤。

  1. 使用 .NET 核心创建新的 ASP.NET 核心 WebAPI
  2. 在单独的项目中创建集成测试并将测试配置为使用 TestServer() 客户端并使测试成功运行。
  3. 现在,将 Controller 分离到它自己的共享库中,并重构在步骤 1 中创建的项目以改用此共享库。
  4. 重新运行包含 TestServer() 类的测试。您现在会注意到它失败了。

请参阅以下链接以创建集成测试。 Integration testing w/ ASP.NET Core

最佳答案

其实我暂时找到了解决方案,见下面的差异: enter image description here

听起来这可能是 TestServer() 类的错误以及它在测试运行期间如何托管应用程序。

这是代码行,以防您无法阅读上面的图片

.AddApplicationPart(Assembly.Load(new AssemblyName("WebApiToReproduceBug.Controllers"))); 

关于c# - 当 Controller 位于 asp.net 核心应用程序的单独程序集中时,为什么 TestServer 无法找到 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43669633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com