在不重启服务器的情况下查看代码更改

View code changes without restarting the server

我们正在使用 Visual Studio 代码和 DNX,如下所示。

启动 Web 服务器的命令行

dnx . web

project.json > 命令

"web": "Microsoft.AspNet.Hosting 
       --server Microsoft.AspNet.Server.WebListener 
       --server.urls http://localhost:5001"

请注意,我们添加了回车 returns 以提高可读性。

当我们更改 *.cshtml 并刷新浏览器时,更改会显示在浏览器中。这很好。

当我们更改 *.cs 并刷新浏览器时,更改不会显示在浏览器中。我们期望他们会。要查看更改,我们需要停止 Web 服务器(在命令行中使用 Ctrl + C),然后使用 dnx . web 再次启动它。

这不是世界末日;也就是说,我认为 ASP.NET 5 的功能之一是能够在不重新编译的情况下进行刷新等。

我们如何更改 *.cs 代码并刷新浏览器以查看更改,而无需重新启动 DNX Web 服务器?

我们已尝试 运行 dnx --watch . web 问题是,如果我们更改 *.cs 文件,则 Web 服务器将停止,我们无论如何都必须重新启动它。

这是预期的行为。您可以使用 gulp-aspnet-k to automate this process. More detailed info available here: Building and Running Your ASP.NET vNext Application with Gulp.

之类的东西

请注意,不幸的是 gulp 集成 only works on Windows now but all it does is to watch the dnx process and restart it again

动态更改代码功能仅在 运行 无需调试 时有效。我假设您只是从实际上附加调试器的 VS 中按 F5(调试)。不尝试,应该可以。

长话短说:为了刷新后面的代码,服务器必须重新启动。当从命令行 运行 时,服务器停止并且永远不会重新启动 - 你必须自己处理,就像@tugberk 建议的那样 - 但是当从 VS 运行 时,工具会为你处理。

您可以使用一个名为 dnx-watch 的命令。当最初的问题被问到时它不存在,但在 2015 年 9 月的 beta 8 中被添加。您使用

安装它

dnu 命令安装 Microsoft.Dnx.Watcher 您 运行 它只需将您本应传递给 dnx 的命令传递给它即可。所以,替换

dnx web

dnx-watch web

您可以在此处了解更多信息:http://ardalis.com/get-started-with-dnx-watch