查看代码更改,而无需重新启动服务器

我们使用Visual Studio Code和DNX如下。

用于启动Web服务器的命令行

dnx . web 

project.json>命令

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

请注意,为了便于阅读,我们添加了回车符。

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

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

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

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

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

这是预期的行为。 您可以使用gulp-aspnet-k之类的东西来自动执行此过程。 这里提供了更详细的信息: 使用Gulp构建和运行ASP.NET vNext应用程序 。

请注意,这个gulp集成不幸仅适用于Windows,但它所做的只是观察dnx进程并重新启动它 。

即时function上的更改代码仅在没有调试的情况下运行时才有效。 我假设您只是从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