有没有办法让c#程序成为人们可以下载和播放的单个可执行文件,而不是安装?
答案 0 :(得分:1)
您的问题不是很明确,但我认为您正在寻找embedded resources。
<强>概述强>
.NET Framework可以将文件封装为已编译程序集的一部分。这些文件称为嵌入式资源。这些资源与与程序集关联的.resources和.resx文件完全分开。您可以在运行时通过System.Reflection命名空间的Assembly类访问这些资源。
将资源嵌入Manifest的一个主要优点是,因为文件是编译程序集的一部分,所以用户不会意外删除或错放对应用程序至关重要的文件,这在某些情况下可能会阻止程序的执行。此方法的一个限制是,如果不重新编译程序,则无法将对此文件的任何更改保存到程序集。因此,仅包括在应用程序的生命周期内不会作为嵌入式资源更改的文件。
读取嵌入资源的示例代码:
_assembly = Assembly.GetExecutingAssembly(); _imageStream = _assembly.GetManifestResourceStream("MyNamespace.MyImage.bmp"); _textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("MyNamespace.MyTextFile.txt"));
答案 1 :(得分:1)
您可以使用Microsoft Research开发的ILMerge tool
将多个程序集合并为一个。
答案 2 :(得分:0)
检查项目的bin文件夹,它应该有一个可以运行的可执行文件。