发生一个或多个错误。(找不到路径“h:\root\home\username\www\sitename\EmailTemplates\SuccessOrderWindows10.html”的一部分。)
正如错误消息所说,找不到文件路径。在生产环境,请导航到“h:\root\home\username\www\sitename\EmailTemplates”文件夹,查看是否有“SuccessOrderWindows10.html”文件,如果没有相关文件,表示文件丢失,请尝试重新发布包含所有文件的应用程序。
其次,尝试使用IWebHostEnvironment 服务的 ContentRootPath 属性来获取包含应用程序内容文件的目录。代码如下:
public class HomeController : Controller
{
private readonly ILogger<HomeController> _logger;
private readonly IWebHostEnvironment _hostEnvironment;
public HomeController(ILogger<HomeController> logger, IWebHostEnvironment environment)
{
_logger = logger;
_hostEnvironment = environment;
}
public IActionResult Index()
{
ViewData["WebRootPath"] = Path.Combine(_hostEnvironment.WebRootPath, "Files\\Image1.PNG");
ViewData["ContentRootPath"] = Path.Combine(_hostEnvironment.ContentRootPath, "Files\\Image1.PNG");
//ViewData["Directorypath"] = Path.Combine(Directory.GetCurrentDirectory(), "Files\\Image1.PNG");
return View();
}
结果:
有关使用 IWebHostEnvironment 的更多详细信息,您可以查看这篇文章:
在 ASP.NET Core 中获取 Web 根路径和内容根路径