如何配置 VS Code 以使用 IIS Express 和 ASP.NET Core 运行和调试?

19

我已经能够使用Visual Studio 2017运行ASP.NET Core应用程序。Visual Studio集成了IIS Express和ASP.NET Core,并且可以通过F5键启动。

我希望在VS Code中获得相同的功能。我已经找到并尝试了VS Code的IIS扩展。它们可以提供文件服务,但无法启动dotnet.exe进程。

如何配置我的VS Code项目以提供类似于Visual Studio 2017的运行/调试功能?


3
不幸的是,ASP.NET Core在IIS Express上需要使用VS技巧来调试,https://blog.lextudio.com/how-visual-studio-launches-iis-express-to-debug-asp-net-core-apps-d7fd3677e3c3 因此,如果您想要相同的功能,就必须自己实现。 - Lex Li
3
根据这篇优秀的文章,似乎我甚至不必费力地尝试设置这个。使用IIS发布和运行ASP.NET Core应用程序 - Matthew MacFarland
1
@LexLi 您的博客文章非常有帮助。我想我会放弃这个任务,不使用IIS/Express进行本地调试。 - Matthew MacFarland
2
如果您不需要IIS Express,可以使用dotnet CLI(如dotnet run)来运行它。VS Code也可以通过这种方式进行调试配置。 - Talon
@Talon 即使没有 IIS Express,使用 dotnet run 也不太可能是正确的选择。dotnet watch 是为这种情况设计的,https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-watch - Lex Li
2个回答

1

虽然被接受,但这并不是真正的答案。该扩展程序无法与ASP.NET Core或Blazor一起使用,因为其简单的代码库并未尝试模拟VS使用的复杂机制。 - Lex Li

1

不要让这个问题一直悬而未决,也不要让错误的答案在2018-2022年之间发布。我提供了一个带有提示的答案,以指导任何想要解决此问题的人。

不幸的是,ASP.NET Core在IIS Express上需要像我很久以前写的VS技巧。因此,如果您想要相同的功能,您将不得不自己实现它。

请注意,这排除了所有简单的IIS Express扩展程序,因为它们都没有尝试走这么远。

如果您在同一台计算机上安装了VS和VS Code,则VS Code的新版IIS/IIS Express扩展程序可能会有所帮助。通过与Jexus Manager和VS集成,它可以启动/停止Web应用程序(但仍需要进一步调整)。

您应该考虑替代的方法来设置开发工作流程,dotnet watch就是其中之一。


1
是的,我同意。我记得我甚至放弃了尝试这个。这不值得麻烦,正如你所指出的,还有其他方法可以不使用IIS Express。自从.NET Core以来,我已经很长时间没有使用IIS Express了。 - Matthew MacFarland

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接