问题描述
在项目中,添加的资源文件,生成操作设置为“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="图片文件名"/>不会报错,但实际运行时,是找不到图片的