如何在我的 vnext 应用程序中启用 roslyn 自动构建
how to enable roslyn auto-build in my vnext application
我制作了演示应用程序来测试 asp vNext 和 Roslyn 的所有新功能,但我无法重现我在演示文稿中看到的内容:编辑控制器的 viewbag 内容并刷新页面以查看新的 viewbag,为什么?
- 我在训练营中使用 VS 2015 创建了一个 vNext 项目 (Windows10),
- 选择入门 Web 项目(带有控制器和一些视图),
- 启动项目(开始,播放按钮),
- 转到视图,查看内容,
- 然后在控制器中编辑视图包,并保存控制器,
- 在浏览器上按F5,内容还是一样,为什么?
Roslyn 必须 "re-build" 控制器,然后如果我按 f5,我必须看到新内容,不是吗?是否有激活该功能的选项?
我确定这是用于视图的 viewbag,因为当我停止并重新启动项目时,一切正常。
可能是因为没有选择 roslyn 作为编译器,但 vNext 需要 roslyn 才能 运行 所以我很烦恼:-)
这是我编辑的控制器:
public IActionResult About()
{
ViewBag.Message = "Your application description page. coooooool";
return View();
}
和相应的视图:
@{
ViewBag.Title = "About";
}
<h2>@ViewBag.Title.</h2>
<h3>@ViewBag.Message</h3>
<p>Use this area to provide additional information.</p>
我确定这是 roslyn,因为我可以毫无问题地将代码放入应用程序中:
string s = nameof(Console.Write);
这是 KVM 配置:
C:\Program Files (x86)\Microsoft Visual Studio 14.0>kvm list
Active Version Runtime Architecture Location Alias
------ ------- ------- ------------ -------- -----
1.0.0-beta1 CLR amd64 C:\Users\clement\.kre\packages
1.0.0-beta1 CLR x86 C:\Users\clement\.kre\packages
1.0.0-beta1 CoreCLR amd64 C:\Users\clement\.kre\packages
1.0.0-beta1 CoreCLR x86 C:\Users\clement\.kre\packages
* 1.0.0-beta2 CoreCLR x86 C:\Users\clement\.kre\packages default
在此先感谢您的帮助!
根据我对此功能的经验,这在调试模式下不起作用。您可以执行以下操作。
在特定端口上启动站点。
编辑控制器并保存
刷新页面即可。
注意:我已经在 VS 2015 CTP 5 中对此进行了测试。
使用不调试选项启动(ctrl+F5)
我制作了演示应用程序来测试 asp vNext 和 Roslyn 的所有新功能,但我无法重现我在演示文稿中看到的内容:编辑控制器的 viewbag 内容并刷新页面以查看新的 viewbag,为什么?
- 我在训练营中使用 VS 2015 创建了一个 vNext 项目 (Windows10),
- 选择入门 Web 项目(带有控制器和一些视图),
- 启动项目(开始,播放按钮),
- 转到视图,查看内容,
- 然后在控制器中编辑视图包,并保存控制器,
- 在浏览器上按F5,内容还是一样,为什么?
Roslyn 必须 "re-build" 控制器,然后如果我按 f5,我必须看到新内容,不是吗?是否有激活该功能的选项?
我确定这是用于视图的 viewbag,因为当我停止并重新启动项目时,一切正常。
可能是因为没有选择 roslyn 作为编译器,但 vNext 需要 roslyn 才能 运行 所以我很烦恼:-)
这是我编辑的控制器:
public IActionResult About()
{
ViewBag.Message = "Your application description page. coooooool";
return View();
}
和相应的视图:
@{
ViewBag.Title = "About";
}
<h2>@ViewBag.Title.</h2>
<h3>@ViewBag.Message</h3>
<p>Use this area to provide additional information.</p>
我确定这是 roslyn,因为我可以毫无问题地将代码放入应用程序中:
string s = nameof(Console.Write);
这是 KVM 配置:
C:\Program Files (x86)\Microsoft Visual Studio 14.0>kvm list
Active Version Runtime Architecture Location Alias
------ ------- ------- ------------ -------- -----
1.0.0-beta1 CLR amd64 C:\Users\clement\.kre\packages
1.0.0-beta1 CLR x86 C:\Users\clement\.kre\packages
1.0.0-beta1 CoreCLR amd64 C:\Users\clement\.kre\packages
1.0.0-beta1 CoreCLR x86 C:\Users\clement\.kre\packages
* 1.0.0-beta2 CoreCLR x86 C:\Users\clement\.kre\packages default
在此先感谢您的帮助!
根据我对此功能的经验,这在调试模式下不起作用。您可以执行以下操作。
在特定端口上启动站点。
编辑控制器并保存
刷新页面即可。
注意:我已经在 VS 2015 CTP 5 中对此进行了测试。
使用不调试选项启动(ctrl+F5)