Voici ce que je l'ai fait:icône de l'application de la charge par des ressources
J'ai créé un fichier resource.resx
utilisant mon IDE (SharpDevelop) et a ajouté un logo.ico
à elle. Le fichier Resource.resx ressemble à ceci:
<data name="logo" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAA... (etc etc)
J'ai ensuite utilisé ResGen.exe
pour compiler ce resource.resx
dans un fichier resource.resources
valide.
resgen.exe resource.resx resource.resources
En utilisant la ligne de commande compilateur JScript.NET je tout compilé et inclus mon resource.resources
qui a mon fichier logo.
jsc /res:resource.resources /out:app.exe /reference:UI.dll,Remote.dll app.cs
Maintenant, je veux accéder à ce fichier logo de withing mon code, donc j'ai ceci:
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
System.Drawing.Icon icon = new System.Drawing.Icon(assembly.GetManifestResourceStream("resource.resources.logo"));
Cependant je reçois une exception d'exécution pour GetManifestResourceStream
qui est nulle.
Je suppose que c'est un problème d'espace de noms j'ai donc essayé d'accéder au fichier de ressources uniquement avec GetManifestResourceStream("resource.resources")
mais je reçois cette autre exception:
Argument 'picture' must be a picture that can be used as a Icon.
Toutes les idées seraient grandement appréciés, merci!