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

时间:2015-05-17 16:09:31

标签: c# asp.net asp.net-core visual-studio-code dnx

我们按照以下方式使用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再次启动它。

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

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

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

3 个答案:

答案 0 :(得分:5)

即时更改代码功能仅在运行而不进行调试时有效。我假设您只是从VS按F5(调试),它实际上附加了一个调试器。尝试没有,它应该工作。

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

答案 1 :(得分:1)

这是预期的行为。您可以使用gulp-aspnet-k之类的内容来自动完成此过程。有关详细信息,请访问:Building and Running Your ASP.NET vNext Application with Gulp

请注意,这次gulp集成很遗憾only works on Windows now,但所有这一切都是watch the dnx process and restart it again

答案 2 :(得分:1)

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

安装它

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

dnx web

dnx-watch web

您可以在此处了解详情:http://ardalis.com/get-started-with-dnx-watch