1

I have created a C# WinForms application. It has some additional files that it uses, such as help files and some external data files. I want to put these files in folders under the Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) path so that the application can find and read them.

This path doesn't get created until the application is installed right? So where do I put these files in my VS2010 project, or how do I tell my project that these files exist so that when I am running (debugging) the application from VS it will find the files.

Thanks

EDIT: I did think about adding the files as resource files, but unfortunately some files may get added after the project is built and deployed. Therefore we decided to make the program search and find the data files (and associated help files) at a specific location and load them if they exist.

4

3 に答える 3

3

アプリケーションで「Environment.SpecialFolder.ProgramFiles」を使用する必要はありません。それは場所にとらわれない「べき」です。あなたの質問に対する簡単な答えは、「アプリケーションが起動されたフォルダーから」です。本当の答えは、これらのファイルをどのように参照するかです。

ヘルプ ファイルとデータ ファイルは、アプリケーションとの既知の関係を持つフォルダーにデプロイする必要があります。つまり、同じフォルダーまたは子フォルダーです。ファイルリソースの作成を検討してください。

ファイルがユーザー設定可能またはランタイム書き込み可能である場合、それらはプログラム ファイル領域ではなく、アプリケーション データ領域にある必要があります。もしそうなら、あなたの道があります!

お役に立てれば。

于 2012-05-15T10:10:24.827 に答える
0

ファイルをリソースとしてプロジェクトに追加します。この MSDN の記事をご覧ください。プロジェクトにリソースを追加するには、ソリューション エクスプローラーでプロジェクトの下の [プロパティ] ノードを右クリックし、[開く] をクリックしてから、プロジェクト デザイナーの [リソース] ページで [リソースの追加] ボタンをクリックします。

リソースは、外部ファイルであるリンクされたリソースとして、または .resx ファイルに直接埋め込まれた埋め込みリソースとして、プロジェクトに追加できます。

リンクされたリソースを追加すると、プロジェクト リソース情報を格納する .resx ファイルには、ディスク上のリソース ファイルへの相対パスのみが含まれます。画像、ビデオ、またはその他の複雑なファイルをリンクされたリソースとして追加する場合は、リソース デザイナーでそのファイル タイプに関連付けた既定のエディターを使用してそれらを編集できます。

埋め込みリソースを追加すると、データはプロジェクトのリソース (.resx) ファイルに直接保存されます。文字列は、埋め込みリソースとしてのみ保存できます。

Visual Studio でのリソースの追加

于 2012-05-15T10:27:04.777 に答える