正在尝试读取文本文件内容。所以我在下面的代码行中使用它在本地工作。
string src = @"Templates\UserMailTemplate.txt";
string[] content = System.IO.File.ReadAllLines(src);
在Azure开发运营中托管后。出现问题 找不到文件“ D:\ home \ site \ wwwroot \ Templates \ UserMailTemplate.txt”。
Server.Mappath在ASP.Net Core中不起作用。
请让我知道如何在DEV ops中解决此问题。
答案 0 :(得分:0)
问题的原因在于错误消息:Could not find file
。这可能意味着该文件未发布,或者未在您期望的位置发布。
请确认您在寻找正确的位置。
要使文件在发布后可用,
1.看看IHostingEnvironment及其属性
2.将Build Action设置为Content,然后使用Application.GetContentStream
进行访问
3.将“构建操作”设置为Embedded Resource
,然后调用Assembly.GetManifestResourceStream
从程序集中读取文件
4.将Copy to Output Directory
设置为Copy always
或Copy if newer
并访问输出目录中的文件
“略微”偏离主题
请看看在Azure中管理邮件模板的完全不同的方法。与您现在所做的最简单的更改可能是将它们存储在Azure Storage中。
如果您坚持使用文件,请参阅此Azure提示:Working with Files in Azure App Service