Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何整合一个项目的所有资源?_C# - Fatal编程技术网

C# 如何整合一个项目的所有资源?

C# 如何整合一个项目的所有资源?,c#,C#,有没有办法让c程序成为一个单一的可执行文件,人们可以直接下载和播放,而不是安装?你的问题不是很清楚,但我想你正在寻找 概述 NET Framework可以将文件封装为已编译程序集的一部分。这些文件称为嵌入式资源。这些资源完全独立于与程序集关联的.resources和.resx文件。您可以在运行时通过System.Reflection命名空间的程序集类访问这些资源 将资源嵌入清单的一个主要优点是,由于文件是已编译程序集的一部分,用户不会意外删除或错误放置对应用程序至关重要的文件,在某些情况下可能会

有没有办法让c程序成为一个单一的可执行文件,人们可以直接下载和播放,而不是安装?

你的问题不是很清楚,但我想你正在寻找

概述

NET Framework可以将文件封装为已编译程序集的一部分。这些文件称为嵌入式资源。这些资源完全独立于与程序集关联的.resources和.resx文件。您可以在运行时通过System.Reflection命名空间的程序集类访问这些资源

将资源嵌入清单的一个主要优点是,由于文件是已编译程序集的一部分,用户不会意外删除或错误放置对应用程序至关重要的文件,在某些情况下可能会阻止程序的执行。这种方法的一个限制是,在不重新编译程序的情况下,无法将对此文件的任何更改保存到程序集。因此,只能将在应用程序生命周期内不会更改的文件作为嵌入式资源包含在内

读取嵌入式资源的示例代码:


检查项目的bin文件夹,它应该有一个可执行文件,您可以直接运行


您可以使用Microsoft Research开发的工具将多个程序集合并为一个。

是。编译它。
_assembly = Assembly.GetExecutingAssembly();
_imageStream = _assembly.GetManifestResourceStream("MyNamespace.MyImage.bmp");
_textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("MyNamespace.MyTextFile.txt"));