Sto tentando di memorizzare un database di Access vuoto (.mdb) come risorsa nella mia applicazione. Poi voglio scriverlo sul file system e popolarlo con le definizioni della tabella, ecc. Il problema che sto avendo in Visual Studio 2005 e nella mia applicazione C# è che non posso accedere alla risorsa memorizzata nello stesso assembly (che io avrei pensato sarebbe stato accessibile di default). Ecco il mio codice:Come accedere a una risorsa binaria in un'applicazione C#
byte[] abytResource;
System.Reflection.Assembly objAssembly = System.Reflection.Assembly.GetExecutingAssembly();
objStream = objAssembly.GetManifestResourceStream("empty.mdb");
abytResource = new Byte[objStream.Length];
objStream.Read(abytResource, 0, (int)objStream.Length);
objFileStream = new FileStream(newDatabasePathWithName, FileMode.Create);
objFileStream.Write(abytResource, 0, (int)objStream.Length);
objFileStream.Close();
GetManifestResourceStream restituisce NULL e in base alla documentazione che è perché la risorsa deve essere privata (perché anche se non esiste viene restituito un valore non nullo). Quindi la mia domanda è questa:
Come posso rendere la mia risorsa accessibile alla mia applicazione? L'ho già aggiunto al progetto e, a proposito, l'ho contrassegnato come "Risorsa incorporata".
Grazie!