【问题标题】:Does NancyFX support debugging Razor Views?NancyFX 是否支持调试 Razor 视图?
【发布时间】:2013-09-09 13:50:57
【问题描述】:

我设置了一个支持 Razor 的 NancyFX 项目作为 ASP.NET 托管。我使用 Visual Studio 2012。当我尝试调试时,它只是不允许。当我附加到 w3wp 进程时,断点指示器未启用。我仔细检查了 web.config 中的 debug="true" 属性以及 bin 文件夹中是否存在 .pdb 文件。

那么 NancyFX 真的支持调试视图吗?

附: 在 Modules、Bootstrap 等中调试工作正常

【问题讨论】:

  • 告诉我们如何不允许这样做会很有帮助。您希望启用、禁用的按钮是什么?它不会在你设置的断点处停止吗?
  • 当我设置断点时,当我将 VS 附加到 w3wp 进程时它总是被禁用。

标签: visual-studio debugging razor nancy


【解决方案1】:

这对南希来说是不可能的。

Nancy 使用自定义版本的 Razor,因为获得许可和让智能感知工作涉及的黑客。所以调试工作是不可能的。

话虽如此,如果您需要在视图中进行调试,那么这可能意味着您的视图太复杂而无法开始。

在“我应该显示这个‘下一个’分页按钮”的场景中

您可能希望在视图中添加一个属性,将条件转换为布尔值。

这样你的视图就变成了条件标记,比如:

@if (Model.ShouldShowNextPage) {...}

然后您可以对所有路由进行单元测试并断言分页已按预期启用/禁用。

编辑:

Nancy 现在使用 Razor 的官方软件包,几个月前我亲自完成了这项工作。目前支持V2.2和V3。

如果您使用的是 .NET 4.0,那么您会被困在 2.2 包上,因为 3.0 是针对 .NET 4.5 构建的,尽管事实上它没有使用 .NET 4.5 中的任何内容

我的其余答案仍然有效。

https://github.com/NancyFx/Nancy.ReSharper

此插件(如果您使用 ReSharper)有助于基本的智能感知,这很有帮助。

【讨论】:

  • 这个答案不再正确,因为 ms 开源了 Razor 代码库
  • @ChristopherPfohl 你是对的,我已经(几个月前)发布了对 Nancy 的更改以使用真正的 Razor 包。由于许可问题,不再重新编译。
  • @ChristopherPfohl 不,那太棒了,谢谢,我忘了我回答了这个问题,所以你给了我机会更新我的答案:) 非常感谢!
猜你喜欢
  • 2012-08-10
  • 1970-01-01
  • 1970-01-01
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
  • 2015-10-04
  • 1970-01-01
相关资源
最近更新 更多