我刚刚将我的ASP.NET(框架)MVC应用程序升级到ASP.NET Core 2.2。这个过程很痛苦,但是更麻烦的是在本地运行Web应用程序。
在IIS Express中运行的问题:
在IIS中运行的问题:
所以这引出了一个问题,其他人如何在其本地开发机器上开发/运行/调试他们的ASP.NET Core应用程序?也许大多数Web开发人员已经从ASP.NET转移到了纯粹的javascript框架(如Angular,React和Vue),所以我不走运吗?还是我缺少使ASP.NET Core开发的痛苦减轻的东西?
答案 0 :(得分:0)
当前,与过去相比,ASP .NET Core的体验已大大改善。
但是,某些故障仍然存在。对于IIS Express(在生产中我们使用Kestrel)而言,您可以在Visual Studio 2017和2019中尝试这些操作(它们对我们有用):
如果我使用F5启动该应用程序(以启用调试功能),则一旦停止调试,浏览器窗口就会关闭,因此每次更改任何代码后,我都必须从首页重新开始。
仅不使用页面:打开选项卡/页面,生成另一个选项卡/页面,然后使用后者进行调试。这样,您的会话将类似于生产环境。我们将Firefox作为默认浏览器,但是我们通常使用Chrome进行调试,因此,不触摸由Visual Studio产生的进程即可使IIS Express保持活动状态。
如果我使用Ctrl + F5键启动应用程序(无调试),则在几次重建后网站似乎消失了,这意味着任何新页面请求都只是说找不到主机。然后,我必须再次按Ctrl + F5才能再次使用它,但随后我又回到了首页。
看来,清洗整个解决方案两次可以解决问题(至少对我们而言)。第一次清理解决方案时,IIS Express仍会为站点提供服务。显然,这应该是设计好的方式(无法找到有关它的文档)。
如果这不起作用,则可能发生Visual Studio服务卡住的情况。在这种情况下,请关闭Visual Studio(我知道这很痛苦),稍等片刻,然后在验证它们是否已成为Visual Studio的一部分之后终止当前正在运行的所有dotnet.exe
。
Visual Studio 2019有时决定在我现有的Chrome窗口的新选项卡上启动网页,但有时决定在全新的Chrome窗口中启动网页。经过几分钟的开发,我剩下多个选项卡和打开的窗口。
这是我之前所说的部分内容。尽管很痛苦而且资源昂贵,但是打开多个窗口可以使我们生存。
作为参考,我们在调试和发布(使用kestrel)时使用了完全相同的配置。