写一个C#的程序,可能会用到一些资源和配置文件,在C#中有两种方式来暴露我们的资源,一个是Embedded Resource,一个是直接放到运行的目录下(通过Copy to local) 。对于不希望发布后能够被用户修改的资源,应该使用Embedded Resource,而那些希望用户修改的配置就直接Copy to local放到编译好的目录中就好了。对于Embedded Resource,还有一个好处是用户只需要拿到Assembly就可以了。Resource是和Assembly绑定在一起的。不会搞的一大堆的文件。那么,应该如何使用Assembly中的Embedded Resource呢?引用别人的一个列子吧。也算是给自己的一个笔记
/假设/WordProcessingML是项目的名称空间
string str = "WordProcessingML.emptyDoc.xml";
//可以使用System.Reflection.Assembly.GetExecutingAssembly().GetName().Name获得默认名称空间
//也可以写成这样,比较灵活string str = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name + ".emptyDoc.xml";
System.IO.Stream stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(str);
string strXml = string.Empty;
System.IO.StreamReader sr = new System.IO.StreamReader(stream);
{
strXml = sr.ReadToEnd();
}
m_xmlDocument.LoadXml(strXml);
重点就是拿到这个resource的 Stream
此外就是Embedded Resource在加载时候的命名问题,首先是项目的默认的命名空间的名字,然后是Dot'.',然后如果是项目文件夹外的资源或者是项目文件夹下的直接资源(没有子文件夹),那么名称就是DefaultNameSpace.ResourceName,如果有子文件夹,那么就是DefaultNameSpace.ChildFolder1.ChildFolder2.ResourceName即可。
分享到:
- 2008-05-01 18:09
- 浏览 2942
- 评论(0)
- 论坛回复 / 浏览 (0 / 2601)
- 查看更多
相关推荐
用于修改C#项目中的资源档案,简单粗暴,适用于提供给不懂代码的人直接翻译,然后再用翻译好的资源档案直接替换到项目中。不会用的话,请留言。
GlobalResource c# 多语言 示例
C# 多語言切換 語言採用XML存儲 支持 各種菜單,頁簽,ListView 樹形節點等多種控件 語言採用Resource資源存儲僅做了簡單測試
C# C# C# C# C# C# C# C# 适合初学者
基于C#实现的File Resource Management Library (.NET)。
C# .resources资源文件编辑和对比工具,能对这种格式的文件进行新建、编辑,增加资源条目、修改资源取值,比对资源的缺失和差异。能同时操作字符串、图像、图标、声音、raw格式
1.1 问题 1.2 设计 1.2.1 可靠性和可得性 1.2.2伸缩性 1.2.3 可维护性 1.2.4 富客户应用功能 1.2.5 离线可得 1.2.6 web访问 1.2.7 智能安装和自动更新功能 1.2.8 附加客户设备支持 1.3 解决方案 1.3.1 ...
C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#C#
C# 资源文件的读写操作,包括resource和resx文件
主要方法是添加资源文件,其实是字符串id与内容的列表,每种语言一个资源,然后你要设置当前线程的语言。当然比如控件的显示等也是必须写成从资源提取,不能直接在属性窗口里设置。
C#中定时器停止问题,停止定时器必须要用Stop方法才行,不然依然会工作的。
C#绘制坐标轴绘制坐标轴绘制坐标轴绘制坐标轴C#C#绘制坐标轴绘制坐标轴绘制坐标轴绘制坐标轴C#绘制坐标轴绘制坐标轴绘制坐标轴绘制坐标轴C#绘制坐标轴绘制坐标轴绘制坐标轴绘制坐标轴
《领域驱动设计C# 2008实现:问题·设计·解决方案》是第一本也是唯一一本关于使用C#实现领域驱动设计的技术书籍,《领域驱动设计C# 2008实现:问题·设计·解决方案》介绍了构建实际应用系统的全过程。《领域驱动设计...
c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#) winform
C# icon 图标 C# icon 图标 界面 C# icon 图标 C# icon 图标 界面
本书以C#基础知识为框架,介绍了各部分知识所对应的常用开发疑难问题,并进行透彻地解析。本书内容包括C#语言及其开发环境、掌握C#语言基础、流程控制语句、字符与字符串、数组和集合、C#面向对象程序设计、异常处理...
例子主要包括SocketAsyncEventArgs通讯封装、服务端实现日志查看、SCOKET列表、上传、下载、远程文件流、吞吐量协议,...服务端用C#编写,并使用log4net作为日志模块; 同时支持65536个连接,网络吞吐量可以达到400M。
C#面试问题大全C#面试问题大全
这个文件是关于C#多语言程序的源码,目前是Web端的,客户端也可以参考
Resource_Hacker_v5.1.5_Stable_Chs_th_sjy.exe