WPF,两个嵌入的资源有什么不一样呢?

问题描述

在项目中,添加的资源文件,生成操作设置为“Resource”和“嵌入资源”,都是把文件嵌入到应用程序中的吧,哪二者有什么不一样的呢?

解决方案

解决方案二:
嵌入的资源编译的时候不会编译到Debug或者Release文件夹下。Resource不会。这些资源在项目你可以使用相对路径使用它们。
解决方案三:
引用1楼duanzi_peng的回复:

嵌入的资源编译的时候不会编译到Debug或者Release文件夹下。Resource不会。这些资源在项目你可以使用相对路径使用它们。

嵌入的资源编译的时候不会编译到Debug或者Release文件夹下。->嵌入的资源编译的时候会编译到Debug或者Release文件夹下。
解决方案四:
嵌入资源,就是被嵌入到程序里了,程序移动资源跟着移动.Resource没有嵌入,如果程序移动了,但资源没跟程序一起移动,就会找不到资源
解决方案五:
引用2楼duanzi_peng的回复:

嵌入的资源编译的时候不会编译到Debug或者Release文件夹下。->嵌入的资源编译的时候会编译到Debug或者Release文件夹下。

设为Resource,不复制的文件,也应该是嵌入到应用程序中去了的吧,我试过,编译后Debug文件夹里面也是没有文件的。如下:<Windowx:Class="WPF3.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:WPF3"Title="MainWindow"Height="350"Width="525"><Grid><ImageSource="55.png"/></Grid></Window>

解决方案六:
引用4楼vfvvc45b的回复:

Quote: 引用2楼duanzi_peng的回复:
嵌入的资源编译的时候不会编译到Debug或者Release文件夹下。->嵌入的资源编译的时候会编译到Debug或者Release文件夹下。

设为Resource,不复制的文件,也应该是嵌入到应用程序中去了的吧,我试过,编译后Debug文件夹里面也是没有文件的。如下:<Windowx:Class="WPF3.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:WPF3"Title="MainWindow"Height="350"Width="525"><Grid><ImageSource="55.png"/></Grid></Window>

复制到输入目录->如果较新则复制生成操作->嵌入的资源
解决方案七:
引用3楼Ptrtoptr的回复:

嵌入资源,就是被嵌入到程序里了,程序移动资源跟着移动.Resource没有嵌入,如果程序移动了,但资源没跟程序一起移动,就会找不到资源

说的很清楚啊:在MicrosoftVisualStudio中,可通过将一个文件添加到项目并将其BuildAction设置为Resource来创建资源文件。那说明Resource也是将文件嵌入到程序集中去了的啊
解决方案八:
对不起,我说错了...不是有意的
解决方案九:
有人知道吗?
解决方案十:
有人知道吗?
解决方案十一:
看看这个,虽然是Silverlight的,但是意思差不多
解决方案十二:
其实嵌入的资源和Resource主要的区别就在于编译的时候。嵌入的资源,在程序编译时,会被复制。而Resource的话,如果要更新的话,要去文件夹里添加,他不会被复制
解决方案十三:
嵌入的资源是嵌入到dll中了
解决方案十四:
引用

BuildAction成员,这个成员有很多可选值。其中有一个EmbeddedResource(嵌入式资源)和Resource,这两者都会在应用程序中嵌入一个程序集资源,前者用于在Winform程序中嵌入程序集资源,后者用于WPF。

另外"复制到输出目录",这个是简单的复制到输出的文件夹,不是嵌入到程序及资源里面。
解决方案十五:
引用13楼save4me的回复:

引用
BuildAction成员,这个成员有很多可选值。其中有一个EmbeddedResource(嵌入式资源)和Resource,这两者都会在应用程序中嵌入一个程序集资源,前者用于在Winform程序中嵌入程序集资源,后者用于WPF。

另外"复制到输出目录",这个是简单的复制到输出的文件夹,不是嵌入到程序及资源里面。

真的是这样吗,那WPF应用程序就不应该出现EmbeddedResource吧
解决方案:
实践是检验真理的唯一标准。建一个WinForm项目,在里面选一下Resource,编译一下,看看会不会报错。再建一个WPF项目,在里面选EmbeddedResource,编译一下,看看会不会报错。引用14楼vfvvc45b的回复:

Quote: 引用13楼save4me的回复:
引用
BuildAction成员,这个成员有很多可选值。其中有一个EmbeddedResource(嵌入式资源)和Resource,这两者都会在应用程序中嵌入一个程序集资源,前者用于在Winform程序中嵌入程序集资源,后者用于WPF。

另外"复制到输出目录",这个是简单的复制到输出的文件夹,不是嵌入到程序及资源里面。

真的是这样吗,那WPF应用程序就不应该出现EmbeddedResource吧

解决方案:
wpf中,一个图片文件被build为Resource,在xaml中可以<Imagesource="图片文件名"/>。而build为EmbeddedResource,xaml中<Imagesource="图片文件名"/>不会报错,但实际运行时,是找不到图片的

时间: 2024-09-30 08:19:51

WPF,两个嵌入的资源有什么不一样呢?的相关文章

WPF如何设置嵌入的资源图片为SplashScreen?

问题描述 图片相对路径:./resource/splash/001.png设置为"嵌入的资源"SplashScreenss=newSplashScreen("resource.splash.001.png");ss.Show(true);报错,找不到资源文件.....请问这个resourceName应该如何写?图片放到根目录也一样不行 解决方案 解决方案二:图片的生成操作属性设置为"resource"路径设置为"/Resources/n

wpf的Image使用非资源图片

问题描述 wpf的Image使用非资源图片 string path=@""D:KuGouimage6745552a9a33d31ff3d95bb9218c869e.jpg""; Image img = new Image(); img.Source = new BitmapImage(new Uri(path UriKind.Absolute)); img.Width = 200; img.Height = 150; this.grid2.Children.Add(

WPF 引用DLL纯图像资源包类库中的图片

原文:WPF 引用DLL纯图像资源包类库中的图片 1.建立WPF应用程序              过程略.   2.创建类库项目(图片资源包)       创建图片资源类库项目MyImages,删除class1.cs,在项目属性的资源选项中选择"图像"类型,并在"添加资源"中点击"添加现有的文件",把图像加入到资源.并把访问修饰符改为Public.   3.在WPF应用程序中引用类库项目        在WPF中通过 MyImages.Prop

wpf win32-WPF中嵌入非托管exe无法响应mousemove和mousewheel消息

问题描述 WPF中嵌入非托管exe无法响应mousemove和mousewheel消息 RT,我在WPF中用HwndHost将非托管exe嵌入到border控件里,但嵌入后的exe无法通过Win32 Api改变样式,且无法响应MouseMove和MouseWheel消息

C#嵌入EXE资源的问题

问题描述 C#可以嵌入EXE的资源并运行,但网上介绍的方法其实只能嵌入.Net的编译的EXE程序,其他非.Net程序嵌入后无法调用,会在Assembly.Load时产生异常,提示"试图加载格式不正确的程序"如何在不将非.Net的EXE资源写入EXE文件的情况下直接运行.这个问题怎么解决呢? 解决方案 解决方案二:内存中运行nativeexe的可能性是存在的,不过这是要做osloader做的事情,一般情况就当作不可能吧.这里有些办法,你需要深入掌握PE文件.进程内存布局相关知识,参考别人

WPF程序将DLL嵌入到EXE的两种方法

原文:WPF程序将DLL嵌入到EXE的两种方法 WPF程序将DLL嵌入到EXE的两种方法 这一篇可以看作是<Visual Studio 版本转换工具WPF版开源了>的续,关于<Visual Studio 版本转换工具WPF版开源了>可以参看地下地址(两篇是一样的): 开源中国 http://my.oschina.net/chinesedragon/blog/308336 CNBLOGS http://www.cnblogs.com/luoshupeng/p/3946635.html

WPF学习之资源-Resources

WPF通过资源来保存一些可以被重复利用的样式,对象定义以及一些传统的资源如二进制数据,图片等等,而在其支持上也更能体现出这些资源定义的优越性.比如通过ResourceDictionary的支持就可以通过资源来实现换肤功能,在ExpressionBlend中设计的酷炫造型也可以通过导出成资源来很容易的被程序员所引用,本地化的实现,访问另外程序集的嵌入式资源等等.这些都给我们提供了丰富的手段通过资源访问架构来构建丰富的富媒体应用程序.本文简单讲解了WPF Resources的分类及其常见用法,并简单

《Programming WPF》翻译 第6章 3.二进制资源

尽管ResourceDictionary和系统级别的资源适合于作为数据存在于对象中, 然而,并不是所有的资源都能很好的满足这个模型.能够处理二进制流通常是很 有用的.例如,图像,声频和视频,都是有效地二进制的代表,但是这些资源在 xaml内都没有相应的标签,而且毕竟这些对象通常表现为底层数据的包装.标记 语言本身代表了一种挑战:xaml页面必须编译到我们的应用程序中.因此,需要 一种处理二进制流的方法. WPF并未引进任何新技术处理二进制数据..NET框架已经提供了处理内嵌二进 制流的机制,WP

在.NET中读取嵌入和使用资源文件的方法_C#教程

Dotnet中嵌入资源(位图.图标或光标等)有两种方式,一是直接把资源文件加入到项目,作为嵌入资源,在代码中通过Assembly的GetManifestResourceStream方法获取资源的Stream.另一种方法是在项目中加入. resx资源文件,在资源文件中添加资源,由ResourceManager类统一管理其中的资源. 下面分别详述这两种方法 一.使用GetManifestResourceStream读取嵌入资源 1.加入资源文件 直接把要嵌入到程序集的资源文件加入到项目中,可以加在项