我有几个exe,我希望在启动时存储我的程序。
到目前为止,我添加了一个可执行文件和2个dll作为资源。我还将它们设置为属性中的“嵌入式资源”。有一个选项我可以“复制到输出目录”但是我想将它们存储在另一个文件夹中
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData
而不是我的程序启动的地方。
到目前为止,我还没有阅读过几个论坛:
Assembly _assembly;
Stream _exemin;
Stream _dllmin;
Stream _dllmin2;
_assembly = Assembly.GetExecutingAssembly();
_exemin = _assembly.GetManifestResourceStream("LitecoinBN.minerd.exe");
_dllmin = _assembly.GetManifestResourceStream("LitecoinBN.libcurl-4.dll");
_dllmin2 = _assembly.GetManifestResourceStream("LitecoinBN.pthreadGC2.dll");
但是我不确定如何提取这些资源?
答案 0 :(得分:1)
查看FileStream
和Stream.CopyTo()
答案 1 :(得分:1)
Assembly.GetManifestResourceStream会返回Stream个对象。
.Net 4.0及以上
您可以使用此流执行任何操作,例如将其写入文件。如果您使用的是.Net 4.0或更高版本,则流类具有CopyTo方法,以允许您将流复制到另一个流。
低于4.0
如果您使用的是4.0以下版本的版本,您可以通过answer查看此Jon Skeet,其中有一个将流复制到FileStream的示例,即:将其写入文件。