私のアプリケーションに空の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値が返されるため)、リソースがプライベートでなければならないためのマニュアルに従って。だから私の質問はこれです:
自分のアプリケーションに自分のリソースをアクセスさせるにはどうすればいいですか?私はすでにそれをプロジェクトに追加し、それを「組み込みリソース」としてマークしました。
ありがとうございます!