c# - 无法访问 ASP.NET Core C# 项目中的嵌入式资源?
问题描述
我正在尝试在我的 ASP.NET Core 项目中设置一个等于嵌入资源的文本内容的流。但是,在调试时,流一直被设置为空,我认为这是因为它无法找到这个嵌入的资源。
我已通过转到“属性”>“构建操作”>“嵌入式资源”将文件设置为嵌入式资源。然后我还编辑了项目.csproj
文件以包含一个项目组,该项目组引用要包含的文件:
<ItemGroup>
<EmbeddedResource Include="Assets/loyalty-template.html">
<LogicalName>Assets/Loyalty-template.html</LogicalName>
</EmbeddedResource>
</ItemGroup>
我在哪里设置流:
string body;
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Assets/loyalty-template.html"))
{
TextReader tr = new StreamReader(stream);
body = tr.ReadToEnd();
}
我是否在 中正确引用了嵌入文件GetManifestResourceStream
?以下是我所在项目的文件结构loyalty-template.html
:
解决方案
使用以下路径:[程序集名称].[目录].[文件名]。
或者
仅使用带有文件名和扩展名的 GetManifestResourceNames:
string resourceName = assembly.GetManifestResourceNames()
.Single(str => str.EndsWith("loyalty-template.html"));
推荐阅读
- hyperledger-composer - 升级到 composer 0.19.6 后 composer rest 服务器无法启动
- powershell - 使用过滤器从活动目录中获取所有用户
- android - EditText 中的标点符号 - Android Nougat
- javascript - 从递归角度组件发布事件
- sql - 由于内部错误,不支持相关子查询模式的类型
- java - 如何在我在 android studio 中的第二个活动中显示单击的单选按钮值?
- postgresql - org.postgresql.util.PSQLException:错误:“和”处或附近的语法错误
- php - 如何在 JSON 中为两个不同表中的类别检查 1 或 0 提供响应?
- hexo - 如何在 Hexo 博客中添加 RSS 提要
- watson-studio - ImportError:Watson Studio 上没有名为“cv2”的模块