我必须附加什么过程才能使用IIS Express配置文件调试MVC 6 wep应用程序?

时间:2017-02-12 20:58:31

标签: asp.net-mvc asp.net-core asp.net-core-mvc iis-express visual-studio-2017

我正在拼命尝试实现在VS 2017 RC3中调试MVC 6(Core 1.1)Web应用程序的非常简单的目标。正常的调试不起作用,因为在我的VS 2017 always times out debugging an MVC Core website on IIS Express profile问题中,VS总是试图附加到程序上。现在我被困在"开始没有调试",并试图附加到实际托管我的应用程序的任何进程。

应用程序类型是一个控制台应用程序,用于启动Kestrel主机,但此控制台应用程序不会生成.exe,我可以在任何地方找到它。当然我试图附加到IIS Express,但使用它,没有任何断点被击中。我相信在这些场景中,IIS EXpress只是作为我的MVC应用程序的实际控制台应用程序的代理,所以也许我应该附加到实际的Web应用程序进程,但地狱的名称是什么过程?< / p>

1 个答案:

答案 0 :(得分:11)

您需要附加到dotnet.exe进程。您可能有多个dotnet.exe(特别是如果您同时运行.NET Core项目VS)。通常,当您在VS中按Ctrl + Shift + P时,它将是第一个dotnet.exe。

但是,您的症状看起来根本没有启动,IIS Express无法找到该过程。我将从检查IIS Express相关事件的事件日志开始,因为IIS记录了它启动的应用程序的进程ID和失败(如果有的话)。

更好的调试方法可能是跳过IIS Express并直接从命令行dotnet run启动应用程序。这样,您将在命令行窗口中看到输出。您还可以使用以下方法从Main方法打印进程ID:

Console.WriteLine("Process ID: " + System.Diagnostics.Process.GetCurrentProcess().Id);

以便在需要时轻松找出要附加的进程。