【问题标题】:publish the Views in dot net core在 dot net core 中发布视图
【发布时间】:2017-04-23 19:06:05
【问题描述】:

在我的应用程序中,dotnet run 之后,我能够看到由以下人员调用的视图:

return View("~/Views/v1.cshtml"); 

在我的project.json 中添加以下内容后,我将Views 文件夹复制到publish 文件夹中:

"publishOptions": {
     "include": ["Views"]
}

但在发布应用程序后,使用:

dotnet publish --output "publish" --configuration release

并运行:

e:\myApp\publish\dotnet myApp.dll

视图被控制器调用后没有显示在浏览器中。

我在这里犯了什么错误,如何解决?谢谢

【问题讨论】:

    标签: asp.net-mvc asp.net-core .net-core


    【解决方案1】:

    如果您对Views 使用非常规补丁,请不要使用项目相关补丁(如~/./)。所以正确的是

    return View("Views/v1.cshtml");

    【讨论】:

    • 我的应用程序中没有“wwwroot”文件夹。我猜错误在return View("~/Views/v1.cshtml") 但不知道到底是什么
    • 所以首先回答一个重要问题:您的发布文件夹中有Views 文件夹吗?
    • 约定是在Views 中以控制器的相同名称命名文件夹,然后在return View(); 中通过参数仅传递视图名称(如果它与操作名称不同)。我看到你不使用那个约定
    • 你是对的,我没有使用约定,但是当我使用它时它工作正常dotnet run
    • 因为 dotnet run 可以使用项目相关补丁。尝试设置相对(而不是 ~/ 的项目相对)补丁在项目中和发布后将是相同的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2018-08-09
    • 2017-06-23
    • 1970-01-01
    • 2021-01-18
    相关资源
    最近更新 更多