1

ソース ファイルから別の winform アプリケーションをコンパイルし.resources、実行時にファイルを作成し、コンパイル時に .resources ファイルを埋め込みリソースとして追加するアプリケーションを作成しました。新しい.resourcesファイルの作成に使用しているコードは次のとおりです。

 // Creating .resources file from a file named Photo.jpg

        string myfile = "photo.jpg";
        using (ResourceWriter rw = new ResourceWriter(@".\photoRes.resources"))
         {
           rw.AddResource("MyPhoto",File.ReadAllBytes(myfile));
         }

次に、このリソース ファイルは、コンパイルされたプログラムに埋め込みリソースとして追加されます。以下の行はその仕事をします

        // -- -- -- inside the CompileExecutable() function -- -- --
         CompilerParameters cp = new CompilerParameters();
         ..
         ..
         if (provider.Supports(GeneratorSupport.Resources))
            {
                cp.EmbeddedResources.Add("bindedfile.resources");
            }
         .. 
         ..

ソースファイルからコンパイルしたコンパイル済みプログラムは ( Program Size + Picture Size ) になります。

画像は、そのファイルの埋め込みリソースになりました。画像にアクセスし、抽出して実行するには、そのファイルのソースに数行のコードを追加する必要がありますよね?

私の質問は、source.csファイルに埋め込まれたリソースである画像を抽出して一時フォルダーから実行するように指示するために、ファイル内に何を書き込む必要があるかです。

以下の行をsource.csに追加すると

string[] arrayofstrings = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames();
        foreach(string s in arrayofstrings) {MessageBox.Show(s);}

次のテキストを含む 1 つのメッセージ ボックスが表示されます。photoRes.resources

埋め込みリソースを読み取り、画像を一時フォルダーに抽出して実行する方法は? source.cs に追加する行は?

4

1 に答える 1

0

このサポート記事Visual C# を使用してリソースを埋め込み、アクセスする方法

_imageStream = _assembly.GetManifestResourceStream("MyNameSpace.MyImage.bmp");
于 2012-04-20T16:14:18.690 に答える