【问题标题】:Copy Razor-Views for Self-hosting NancyFx?复制自托管 NancyFx 的剃刀视图?
【发布时间】:2013-06-03 14:57:10
【问题描述】:

我从一个简单的 MVC 站点开始,使用 NancyFx 和 Razor-views (.cshtml) 和 Nancy.Hosting.Aspnet,使用 IIS Express。现在我使用Nancy.Hosting.Self(和TopShelf)将该项目改编为自托管服务。

但是,为了提供视图,我似乎需要将它们的属性从 NoneDo not copy 更改为 ContentCopy if newer,因此它们被复制到 .\bin\Debug\

一个后果是在重新启动之前不会显示/更新对视图的更改。即使在debug-mode, where caching is disabled by default 工作。我知道这只是一个小烦恼,但仍然是一个烦恼,很高兴能够立即尝试 (cs)HTML 更改。所以我想知道有没有办法解决这个问题,例如以防止必须将文件设置为Copy if newer?

【问题讨论】:

    标签: asp.net-mvc razor host nancy


    【解决方案1】:

    您可以提供一个custom root path,直接查看项目中的views 文件夹。

    【讨论】:

    • 我不认为它很“漂亮”,让根路径指向父目录(至少在调试模式下)。但它可能会在编辑后重新启动。 (或者在 `/bin/Debug' 中编辑复制的文件并将更改移回源。)
    • 我同意它不漂亮。通过将我的根路径位置从构建事件写入文件(使用当前工作目录的宏),然后在#if DEBUG 语句中读入该文件,我让事情变得更丑陋,但对克隆更有帮助。丑陋,但是当代码不在特定文件夹中时它可以工作。
    • 链接已损坏@jrsconfitto
    • 感谢@codetoshare,这里是a gist of my custom root path 用于开发(之前的评论已删除)
    【解决方案2】:

    您需要设置这些值:

    #if DEBUG
      StaticConfiguration.Caching.EnableRuntimeViewDiscovery = true
      EnableRuntimeViewUpdates = true
    #endif
    

    【讨论】:

    • 是的,但我说的是调试模式(我会编辑问题)和in debug-mode caching is disabled by default。所以我认为问题是由这种复制引起的。是否有不需要复制设置的不同设置?
    • 感谢您的努力。但在调试模式下,缓存已经默认启用 dis。所以这对我没有帮助。
    • 试试 jabbr.net/#/rooms/nancyfx 房间。
    • 谢谢,他们(重新)建议@Jugglingnutcase's answer
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多