AspNetCore在其他程序集中包含Razor Pages

时间:2019-12-18 14:45:44

标签: c# asp.net-mvc-routing razor-pages

上下文

我有一个集成测试项目,在其中启动我的实际应用程序服务器的测试版本。我使用测试启动来扩展实际应用程序的启动。

- MyApp.Web/
   |
   \ Pages/
      |
      \ Index.cshtml
      \ Index.cshtml.cs
   \ Startup.cs

- Tests/
   |
   \ MyApp.Tests.IntegrationTests/
      |
      \ TestStartup.cs // Extends Startup in MyApp project
      \ TestFixture.cs // Starts the test server using TestStartup.

问题:

因为我正在运行测试程序集,所以找不到Pages目录,因此找不到我的路线。如何告诉TestStartup包含上面的Pages目录?

额外

我看了this post,但是这似乎太令人费解了。这个家伙有很多逻辑,就像骇客一样。必须有一种更清洁的方法来做到这一点?

此外,如果有一种方法可以通过名称空间而不是目录来实现,我更愿意(尽管不可能)。就像您可以说“使用“ MyApp.Pages”命名空间中的所有类”,而不是“使用此目录中的所有文件”一样。由于目录名称可能会在重构时发生变化,具体取决于每个开发人员将其放置在系统上的位置(我将我的位置放置在〜/ projects /中,但其他人可能会将它们放置在〜/ WorkProjects中。更不用说Windows路径vs Unix路径)。

0 个答案:

没有答案