Estoy tratando de almacenar una base de datos de Access vacía (.mdb) como recurso en mi aplicación. Luego quiero escribir el sistema de archivos y llenarlo con definiciones de tabla, etc. El problema que tengo en Visual Studio 2005 y mi aplicación C# es no poder acceder al recurso almacenado en el mismo ensamblado (que habría pensado sería accesible por defecto). Aquí está mi código:Cómo acceder a un recurso binario en una aplicación 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 devuelve NULL y de acuerdo con la documentación que se debe a que el recurso debe ser privada (porque incluso si no existe se devuelve un valor no nulo). Entonces mi pregunta es la siguiente:
¿Cómo hago que mi recurso sea accesible para mi propia aplicación? Ya lo agregué al proyecto y lo marqué como "Recurso incrustado", por cierto.
Gracias!