2

リソースファイルの使用に問題があります。

私のプロジェクトでは、一連のビットマップファイルと2つのtxtファイルを使用しています。コントロールの背景としてビットマップが使用されていますが、メモ帳またはワードパッドで開きたい.txtファイルです。今まで、私は自分のマシンのファイルパスからそれらにアクセスしていました:

ControlName.backgroundimage = New Bitmap(direcorypath & "/Map.bmp")

Process.Start(direcorypath & "/Instrukcje.txt")

そしてそれはうまくいきました。次に、これらのファイルをリソースに追加し(実行可能ファイルに含めるのが実用的です)、これらの行を次のように置き換えました。

ControlName.backgroundimage = New Bitmap(MyProject.My.Resources.Map)

Process.Start(MyProject.My.Resources.Instrukcje)

ビットマップの場合は正常に機能しますが、txtファイルの場合はファイルが見つからないというエラーが発生します。興味深いのは、「ウォッチ」に「MyProject.My.Resources.Instrukcje」と入力すると、ファイルの内容が表示されることです。それで、それはファイルとしてだけではなく、そこにありますか?私はここで何かが欠けていると思います。私
はどこでも何を検索しましたが、役立つものは何も見つかりませんでした。私はいくつかの手がかりを感謝します。(そして、何か不明な点がある場合は申し訳ありませんが、私のプログラミングスキルは私のあまり良くない英語よりもはるかに劣っています)ありがとう:)

4

1 に答える 1

0

リソースは.dllまたは.exeファイルに埋め込まれているため、Processクラスでアクセスすることはできません。.txtリソースを一時ディレクトリに書き込み、Processを使用してそこで一時ファイルを開始できます。

追加情報:質問をテストするために.txtファイルをResource.resxファイルに追加しました。プレーンテキストは、リソースファイルに文字列として保存されます。したがって、Resources。(InsertYourTextFilesName)プロパティにアクセスすると、テキストファイル内のテキストが返されます。

知りたい場合は、バイナリファイル(非プレーンテキストファイルなど)がバイト配列としてresource.resxに格納され、コンパイルされたアセンブリ内にインターンされます。

于 2009-12-31T12:43:08.120 に答える