【问题标题】:Change ASP.NET Core 2 Razor Pages default directory name to wwwroot将 ASP.NET Core 2 Razor Pages 默认目录名称更改为 wwwroot
【发布时间】:2018-04-05 13:45:31
【问题描述】:

ASP.NET Core 2.0 的一个新的关键特性是 Razor Pages。 通过将其放入我的startup.cs 文件中,我已经能够在默认的/Pages 文件夹和任何其他自定义文件夹(如/RazorPages)中使用它们。

services.AddMvc().WithRazorPagesRoot("/RazorPages");

如本文所述:http://www.talkingdotnet.com/change-asp-net-core-razor-pages-default-directory-name/

但是当我尝试将默认 Razor Pages 目录设置为 /wwwroot 文件夹时,它会忽略我在“代码隐藏”.cs 文件中声明的任何命名空间或模型。像这样:

services.AddMvc().WithRazorPagesRoot("/wwwroot");

我猜是因为无法从面向公众的/wwwroot 文件夹访问 .cs 文件。

有谁知道如何将 Razor Pages 设为默认目录/wwwroot

我认为 Razor Pages 功能在未来会被大量使用。

感谢您的帮助。

【问题讨论】:

    标签: c# razor asp.net-core asp.net-core-2.0 razor-pages


    【解决方案1】:

    您需要编辑您的项目文件以实际编译.cs 中的wwwroot 文件;默认模板将它们排除在外。

    但是,您不应该这样做; wwwroot 仅包含面向公众的内容,而不是服务器端代码。

    【讨论】:

    • 谢谢@SLaks。为了向您的答案添加更多详细信息,我更改了 .csproj 文件并添加了一个 ItemGroup:。这有效,现在我可以在 /wwwroot 文件夹中拥有 Razor 页面及其代码隐藏文件。
    • 我同意 SLaks 你真的不应该这样做。你冒着公开暴露你的源代码的风险。它被设计成一个单独的文件夹结构是有原因的。
    猜你喜欢
    • 2019-10-13
    • 2018-10-29
    • 2018-11-14
    • 1970-01-01
    • 1970-01-01
    • 2021-03-01
    • 2018-02-17
    • 2023-03-09
    • 2020-11-21
    相关资源
    最近更新 更多