Я пытаюсь сохранить пустую базу данных Access (.mdb) в качестве ресурса в своем приложении. Затем я хочу записать его в файловой системе и заполнить его определениями таблиц и т. Д. Проблема, которую я имею в Visual Studio 2005 и моем приложении C#, не имеет доступа к ресурсу, хранящемуся в той же сборке (которая я казалось бы, было бы доступно по умолчанию). Вот мой код:Как получить доступ к двоичному ресурсу в приложении 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 возвращает NULL, и в соответствии с документацией, потому, что ресурс должен быть частным (потому что даже если он не существует не-NULL значение возвращается). Поэтому мой вопрос таков:
Как сделать свой ресурс доступным для моего собственного приложения? Я уже добавил его в проект и отметил его как «Embedded Resource», кстати.
Спасибо!