.net核心应用程序发布时的相对和绝对路径问题

问题描述

当我将程序发布到服务器时,我遇到了这个问题,是因为该程序发布到服务器上的文件夹而不是根目录而引起的。

页面中的.cshtml文件中有类似的代码

@section head {
<link rel="stylesheet" href="/css/login.scss" />
}

如果我发布此文件,它将解释为文件位于www.website.com/css/login.scss而不是www.website.com/folder/css/login.scss

我尝试使用〜链接的开头,但这会导致整个程序崩溃并显示Error 500,日志记录如下:

fail: Microsoft.AspNetCore.Server.Kestrel[13]
      Connection id "0HM3MGHFA29RH",Request id "0HM3MGHFA29RH:00000001": An unhandled exception was thrown by the application.
System.IO.FileNotFoundException: No files found matching "/folder/css/login.scss" exist in "C:\inetpub\wwwroot\website\folder\wwwroot\"

添加〜会使程序认为文件位于错误的位置,如果不将该项目发布到我要避免的网站的根目录下,我不知道如何解决。我尝试了各种方法,但无济于事。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)