当前位置:首页 » 资源管理 » 嵌入资源如何
扩展阅读
资源和硬件有什么区别 2025-05-16 13:25:07
成华水产品批发多少钱 2025-05-16 13:00:02

嵌入资源如何

发布时间: 2022-05-18 11:54:14

① c#怎么读取项目里嵌入的资源

项目资源文件的资源(就是在“项目 - 资源”选项卡里添加的资源)可以这样访问:
global::项目名.Properties.Resources.资源名;
如果要访问窗体资源文件的资源可以这样:
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(窗体名)); //先定义自己窗体的资源访问类,然后就可以通过这个resources访问窗体资源。

② c# 如何把db数据库嵌入资源

其实不用嵌入,每次生成时重新复制就行。首先将数据库加入项目中,然后在数据库上右击,在弹出的快捷菜单中选择属性,然后在“复制到输出目录”栏中选择“始终复制”或者“较新时复制”。这样每次生成时就会复制到输出目录(Release或Debug)。

③ C#怎么把.xml文件生成嵌入资源。.xml文件我已经写好了,要怎么样把它生成嵌入资源文件。说下操作步骤

选择这个xml文件,右击-属性--嵌入的资源就行了

④ 如何将资源文件正确嵌入或链接到程序集

第一次使用资源文件,难免问题多多。我的情况是:
我的程序窗口基类位于程序集A中,在基类中使用了图片资源
System.Resources.ResourceManager rm =new System.Resources.ResourceManager("命名空间.资源文件名",
System.Reflection.Assembly.GetExecutingAssembly());
_changeColorBox.Image = (Image)rm.GetObject("图片资源名");
这不,来了这个错误:
System.Resources.: 未能找到任何适合于指定的区域或非特定区域性的资源。请确保在编译时已将“****.****.Resource.resources”正确嵌入或链接到程序集"****",或者确保所有需要的附属程序集都可加载并已进行了完全签名。 怎么解决呢?问题是找不到资源,需要正确地将资源文件嵌入或链接到程序集,怎么做?
在命令行您需要选择:/res:资源文件名.resources;
在VS.NET中,您同样需要做类似的工作:
Project->Add Existing Item->All files->资源文件名.resources,
这样,您的资源文件名.resources就以Embeded Resource形式被嵌入到程序中,在运行时才不会出错。

⑤ C#嵌入的资源可否提取

可以,利用反射,参考:

Assemblyassm=this.GetType().Assembly;//Assembly.LoadFrom(程序集路径);
foreach(stringresNameinassm.GetManifestResourceNames())
{
Streamstream=assm.GetManifestResourceStream(resName);
ResourceReaderrr=newResourceReader(stream);
=rr.GetEnumerator();
while(enumerator.MoveNext())
{
DictionaryEntryde=(DictionaryEntry)enumerator.Current;
//de.Key是资源名
//de.Value是资源内容
}
}

⑥ 如何将JS文件作为嵌入资源放在DLL中

你应该说的是使用服务器控件开发, 使类继承control接口, 右击js文件属性窗口 生成操作设置为"嵌入资源"; 在namespace上设置[assembly: System.Web.UI.WebResource("NAMESPACE名称.b.js", "application/x-javascript")],

⑦ 如何在C#中使用内嵌资源文件

当你使用内嵌资源文件时,通常要知道资源的名称.实际上它可以像一个文件名,但是通常会比文件名更复杂一点点.命名一般包括三个部分:<缺省的命名空间.><扩展命命名空间.><文件名>上面的第一部分和最后的第三部分都好理解. 缺省的命名空间就是项目的命名空间,文件名就是资源文件的名称.中间的这部分可能有些迷惑. 简单的讲,扩展命名空间就是项目中的目录结构.如果你的资源文件就在项目的根目录下,扩展命名空间就不需要了,直接这样写就可以了. <缺省的命名空间.> <文件名>. 但是如果你在项目中产生目录结果的话,就要使用使用扩展命名空间了.比如你在项目的根目录下产生了一个Images目录,那么资源文件就要这样来表示: <缺省的命名空间.> Images.<文件名>. 如果你在Images路径下还有一个目录FormGraphics,那么资源文件就要这样表示: <缺省的命名空间.> Images.FormGraphics.<文件名>我想大家可能已经发现了上面的规律,在代码中你也可以这么写.当你在目录下使用VS自动产生了类,它也是安装这样的方式来命名类的名称. <缺省的命名空间.><扩展命命名空间.>. 虽然你可以手工的修改代码中的命名空间,但是有一点要记住,是不可以修改内嵌资源文件的命名空间结构的.如何得到资源普通方法普通的使用内嵌资源文件的方法是使用Assembly类的GetManifestResource方法.在第一个演示程序中,我们会使用下面这两个方法GetManifestResourceNames, GetManifestResourceStream这个演示程序会列举出一个装配件中的资源,可以把存选中的资源保到一个文件中.如果资源是一个图象,在程序中就可以显示出来.如果你还没有一个内嵌资源的装配件,第二个演示程序就是一个含有资源的装配件. 这是在ListBox的 ListBox's SelectedIndexChanged 事件中,如果出来资源System.IO.Stream stream = loadedAssembly.GetManifestResourceStream( (string) resources.SelectedItem); System.Drawing.Image img = Image.FromStream(stream);上面的演示程序把一个装配件调入内存,在loadedAssembly变量中存储一个Assembly实例.也许在你的应用程序中,不需要调用其他装配件的资源,你只是想能从你自己的程序中得到资源.最简单的方法是使用Type类的Assembly属性来得到某一个类的一个实例,你可以用下面的方法来得到Type,如果是一个类,使用typeof(<class>),如果是一个类的实例变量,使用GetType().另一种实现方法GetManifestResourceStream有两种重载方法,一种是从一个资源文件中来得到一个Stream对象, 另一个中使用Type和string. 第二个会帮助我们得到可以使用的资源.它会根据清单资源的范围由指定类型的命名空间确定资源清单第二个演示程序是利用上面说得第二个方法来实现的. 总结当你理解了上面的内容后,对于VS.net内嵌资源的使用就是易于反掌了.唯一要注意的地方就是找出VS.Net给你的资源文件的名字.

⑧ C# 如何读取嵌入式资源

Assembly assembly = GetType().Assembly;
System.IO.Stream streamSmall = assembly.GetManifestResourceStream("WindowsFormsApplication1.event.jpg");
//当作为一个资源被嵌入后,资源的完整名称会由项目的默认命名空间与文件名组成
Bitmap BackgroundImg = new Bitmap(streamSmall);
pictureBox1.Image = BackgroundImg;

Assembly assembly = GetType().Assembly;
System.IO.Stream streamSmall = assembly.GetManifestResourceStream("WindowsFormsApplication1.NewFolder1.TextFile1.txt");
StreamReader sr = new StreamReader(streamSmall);
string text = sr.ReadToEnd();
MessageBox.Show(text);

⑨ C#中,如何通过反射获取dll中的嵌入资源

System.Reflection.Assembly dll = System.Reflection.Assembly.LoadFile("文件路径");
Stream xmls = dll.GetManifestResourceStream("a.dll的命名空间.项目中的文件路径.文件名");

后面就可以把这个xml作为正常的xml文件的流来使用了。

不好意思,只是按照自己的想法写的。没有去实践。
这个问题是我写错函数了。用load函数的话。参数是dll的命名空间。我已经改了上面的source。
你试一下。

试了一下,这样就好用了。

LoadFile,中的参数是你的dll的路径。不是xml的路径。