5

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

命令行启动 Web 服务器

dnx . web

项目.json > 命令

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

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

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

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

这不是世界末日;也就是说,我认为 ASP.NET 5 的功能之一是无需重新编译即可刷新等。

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

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

4

3 回答 3

5

动态更改代码功能仅在未经调试的情况下运行。我假设您只需从 VS 中按 F5(调试),它实际上附加了一个调试器。尝试不使用,它应该可以工作。

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

于 2015-05-17T17:26:29.440 回答
1

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

请注意,不幸的是,这种 gulp 集成现在只能在 Windows 上运行,但它所做的只是观察 dnx 进程并再次重新启动它

于 2015-05-17T16:30:21.230 回答
1

有一个命令可以用于此,称为 dnx-watch。当最初的问题被问到时,它并不存在,但在 2015 年 9 月的 beta 8 中被添加。你安装它使用

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

dnx web

dnx-watch web

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

于 2015-10-20T18:00:31.663 回答