C#项目 生成操作中 嵌入的资源 如何读取

一.如何为C#项目添加资源

选择项目,右键添加,新建项,选择资源文件

然后双击Resoruce1.resx, 选择添加资源->添加现有文件

选择要加入的文件,加入后,会在项目中出现一个Resources的文件夹,如下图

可以看到出现了一个preview.jpg,这就是刚刚添加进来的图片,

 

选择图片,右键->属性->生成操作->改为嵌入的资源

 

二.如何读取嵌入的资源

假设嵌入的资源名为 A.xml 文件,将其读取并转化为string,代码如下

String LoadResourceToString(String path)
        {
            var assembly = Assembly.GetExecutingAssembly();
            var full_path = $"{assembly.FullName.Split(',')[0]}.{path}";
            var rs = this_assembly.GetManifestResourceStream(full_path);
            var ss = new StreamReader(rs);
            var str = ss.ReadToEnd();
            return str;
        }

完整的路径 = 项目命名空间.资源文件所在文件夹名.资源文件名 

上述例子中full_path="System.TestCode.Wpf.A.xml"        

System.TestCode为项目命名空间 "Wpf"为资源所在的文件夹

入参 path = "Wpf.A.xml"    

 

 

 

三.嵌入的资源、内容、编译等选项的含义

VS中C#项目下,右键一个文件->属性,会出现属性框,如下图:

生成操作(BuildAction) 属性表示 Visual Studio .NET 在执行生成时对文件执行的操作

无(None) - 不在项目输出组中包含该文件,并且在生成进程中不会对其进行编译。例如包含文档的文本文件,如自述文件。

编译(Compile) - 将该文件编译到生成输出中。此设置一般用于代码文件 

内容(Content) - 不编译该文件,但将其包含在“内容”(Content) 输出组中。例如,此设置是 .htm 或其他类型 Web 文件的默认值。

嵌入的资源(Embedded Resource) - 将该文件作为 DLL 或可执行文件(exe)嵌入主项目生成输出中。此设置通常用于资源文件

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值