我们按照以下方式使用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服务器就会停止,我们无论如何都必须重新启动它。
答案 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