gpt4 book ai didi

c# - 即使更改 cshtml 文件,dotnet.exe 也会使用缓存

转载 作者:太空宇宙 更新时间:2023-11-03 12:16:01 27 4
gpt4 key购买 nike

我将 ASP.NET Core MVC 应用程序部署到我的服务器,并将其托管在 IIS 中。配置绑定(bind),一切正常。问题是:

  1. 我更改了一个cshtml文件
  2. 我只将该 cshtml 文件上传到服务器上的相关文件夹内
  3. 我调用公共(public)操作,它返回该 cshtml 文件的 PartialView
  4. 不是更新的版本
  5. 我从服务器上删除了cshtml 文件,然后再次调用该操作
  6. 它提供文件,而文件在物理上不再存在
  7. 我重新启动 IIS,再次提供文件
  8. 我杀死 dotnet.exe,再次提供文件
  9. 我完全删除了 Views 文件夹,仍然提供文件

这里有什么问题吗?

最佳答案

对于将来可能遇到此问题的任何人,这是因为 ASP.NET Core MVC 2.0.5 有 view precompilation开箱即用。

这意味着虽然我们不希望我们的 View 被预编译,但我们看到了 *.PrecompiledViews.dll在我们已上传到服务器的发布文件夹中。

因此它找不到来自 Views 的 View 文件夹,而是从相关的 dll 文件加载它们。

如果您想更改此行为,只需包含 <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>在你的.csproj文件。

阅读更多 this GitHub issue

关于c# - 即使更改 cshtml 文件,dotnet.exe 也会使用缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49749042/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com