在生产中尝试通过 .net core 3.X 中的相对路径读取文件时出错
Error when trying to read a file via relative path in .net core 3.X in production
当我 运行 我在本地主机上的项目时,我能够找到文件并进一步处理它。这是通过这行代码实现的。
path = Path.Combine(Directory.GetCurrentDirectory(), "EmailTemplates\SuccessOrderWindows10.html");
我能够获得完整的相对路径 C:\etc\etc\etc.. 但是当我将这段代码推送到生产环境时,当它到达这个阶段时,它会抛出一个错误
Error One or more occurred. (Could not find a part of the path 'h:\root\home\username\www\sitename\EmailTemplates\SuccessOrderWindows10.html'.)
我做错了什么?我是否必须 select 文件并将它们设置为内容以便将其包含在构建中?
Directory.GetCurrentDirectory 将获取 application.When 的当前工作目录,将代码推送到生产环境,更改当前工作目录,因此文件的相对路径将发生变化,因此您需要把文件放到新路径h:\root\home\username\www\sitename\EmailTemplates\SuccessOrderWindows10.html
当production.Or 可以使用绝对路径。
当我 运行 我在本地主机上的项目时,我能够找到文件并进一步处理它。这是通过这行代码实现的。
path = Path.Combine(Directory.GetCurrentDirectory(), "EmailTemplates\SuccessOrderWindows10.html");
我能够获得完整的相对路径 C:\etc\etc\etc.. 但是当我将这段代码推送到生产环境时,当它到达这个阶段时,它会抛出一个错误
Error One or more occurred. (Could not find a part of the path 'h:\root\home\username\www\sitename\EmailTemplates\SuccessOrderWindows10.html'.)
我做错了什么?我是否必须 select 文件并将它们设置为内容以便将其包含在构建中?
Directory.GetCurrentDirectory 将获取 application.When 的当前工作目录,将代码推送到生产环境,更改当前工作目录,因此文件的相对路径将发生变化,因此您需要把文件放到新路径h:\root\home\username\www\sitename\EmailTemplates\SuccessOrderWindows10.html
当production.Or 可以使用绝对路径。