C#应用程序中的资源和embedded式资源有什么区别?

我应该什么时候使用其中一个?

我希望在我的应用程序中使用的所有文件(图像,声音,xml文件等)都位于.exe文件的内部,因此我不会部署大量文件夹和文件。

谢谢(你的)信息。

“资源”和“内容”构build操作是使用Uris访问WPF资源。 但是“embedded式资源”适用于以前的技术。 但是,这两个选项都将汇编中的资源embedded到WPF的“资源”选项中。

MSDN 在这里提供完整的解释

一个WPF资源(build action = Resource )利用核心.NET框架支持的embedded式资源,但增加了对通过pack URI访问embedded式资源的支持。 来自MSDN :

WPF资源文件与可以使用核心.NET Framework对assembly资源的支持进行configuration的embedded或链接资源types不同。 虽然WPF资源文件可以利用核心.NET Frameworkembedded式资源支持,但使用包URI访问WPF资源文件的function比使用名称空间更容易。

据MSDN报道,

如果您必须在多个项目之间共享应用程序资源(.resx)文件,则embedded式资源是最佳select。 例如,如果您的公用资源文件包含贵公司的徽标,商标信息等,则使用embedded式资源意味着您只需复制.resx文件而不是复制关联的资源数据文件。

您不能直接编辑embedded的资源。 如果您尝试编辑embedded的资源,您将收到一条消息,提示您将该项目转换为链接的资源,以便对其进行编辑。 build议转换,但可选。 您必须导出它们,在外部程序中进行修改,然后将它们导回到您的项目中。

感谢所有的报告,这帮助我更准确地find问题所在:对于我来说,就是在作为资源构build的任务栏中用作项目图标的图像,并且必须构build为内容。 所有其他图像可以作为资源build设,没有问题。

希望这有助于未来。