0

起動時にプログラムと一緒に保存したいexeがいくつかあります。

これまでのところ、実行可能ファイルと 2 つの dll をリソースとして追加しました。また、プロパティで「埋め込みリソース」に設定しました。「出力ディレクトリにコピー」できるオプションが1つありますが、おそらく別のフォルダに保存したいと思います

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");

ただし、これらのリソースを抽出する方法がわかりませんか?

4

2 に答える 2

1

Assembly.GetManifestResourceStreamはStreamオブジェクトを返します。

.Net4.0以降

このストリームは、ファイルに書き込むなど、好きなことを行うことができます。.Net 4.0以降を使用している場合、ストリームクラスにはCopyToメソッドがあり、ストリームを別のストリームにコピーできます。

4.0未満

4.0より前のバージョンの.Netを使用している場合は、 Jon Skeetによるこの回答を見ることができます。これには、ストリームをFileStreamにコピーする例、つまりファイルに書き込む例があります。

于 2012-08-23T20:09:49.483 に答える
1

FileStreamとStream.CopyTo ()を調べます

于 2012-08-23T19:57:33.857 に答える