Announcement

Collapse
No announcement yet.

Zugriff auf eingebette Ressources in Assemblys

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zugriff auf eingebette Ressources in Assemblys

    <pre>Hi,</pre><pre>ich habe im Visual Sdtudio eine Datei (Test1.doc) in die EXE-Datei<br />mit eingebunden. Im Projektmanager also auf &quot;Datei hinzufügen&quot; geklickt<br />und in den Eigenschaften dann &quot;Eingebettete Ressource&quot; gewählt.<br /><br />Jetzt habe ich allerdings das Problem, dass ich irgendwie nicht mehr an<br />den Stream rankomme, der mir die Daten aus der Assembly herausliest. Kann<br />mir jemand helfen?</pre><pre>Gruß</pre><pre>Michael</pre>

  • #2
    Hallo,

    das folgende Beispiel demonstriert den Zugriff auf eine als Resource eingebettet Datei:

    1. Solution Explorer: Datei <i>Testdatei.dat</i> in das Projekt Projektname einfügen <br>
    2. Datei Testdatei.dat im Solution Explorer markieren -> Properties Window: Build Action: Embedded Resource
    <br>
    Über das Tool <b>ILDASM.EXE</b> aus dem .NET Framework kann man sich den von .NET erwarteten Resourcenbezeichner anzeigen lassen, dieser taucht dort als <b>.mresource</b>-Eintrag auf.
    <code>
    Imports System.Reflection
    Imports System.IO
    ...
    <br>
    Dim aAsm As [Assembly]
    Dim st As Stream
    Dim fs As FileStream
    Dim br As BinaryReader
    Dim b As Byte()
    aAsm = [Assembly].GetExecutingAssembly
    st = aAsm.GetManifestResourceStream("Projektname.Testda tei.dat")
    ReDim b(CInt(st.Length) - 1)
    br = New BinaryReader(st)
    br.Read(b, 0, b.Length)
    st.Close()
    fs = New FileStream("C:\Temp\Testdatei.dat", FileMode.CreateNew)
    fs.Write(b, 0, b.Length)
    fs.Close()
    </code&gt

    Comment

    Working...
    X