次の方法で共有


ファイルのプロパティ

ファイルのプロパティを使用して、プロジェクト システムがファイルに対して実行するアクションを指定できます。 たとえば、ファイルのプロパティを設定することにより、ファイルをコンパイルするか、またはリソースとしてビルド出力に埋め込むかを指定できます。

ソリューション エクスプローラーでファイルを選択し、[プロパティ] ウィンドウでそのプロパティを調べることができます。 Visual Basic および Visual C# のファイルには、[ファイル名][ビルド アクション][カスタム ツール]、および [カスタム ツールの名前空間] という 4 つのプロパティがあります。

注意

[ビルド アクション] プロパティ、[カスタム ツール] プロパティ、および [カスタム ツールの名前空間] プロパティは、高度なシナリオのために用意されています。 通常は、既定の値で十分であり、変更する必要はありません。

[ファイル名] プロパティ

[プロパティ] ウィンドウの [ファイル名] プロパティをクリックして新しい名前を入力すると、ファイルの名前を変更できます。 ファイルの名前を変更すると、関連付けられているすべての .vb ファイルまたは .resx ファイルの名前が自動的に変更されるので注意してください。

[ビルド アクション] プロパティ

[ビルド アクション] プロパティは、ビルドが実行されたときのファイルの処理方法を示します。 [ビルド アクション] には次のいずれかの値を指定できます。

  • None (なし) - ファイルをプロジェクト出力グループに含めず、ビルド処理でコンパイルしません。 例として、ドキュメントを含むテキスト ファイル (Readme ファイルなど) があります。

  • Compile (コンパイル) - ファイルをビルド出力にコンパイルします。 この設定は、コード ファイルで使用します。

  • Content (コンテンツ) - ファイルはコンパイルしませんが、コンテンツ出力グループに入ります。 たとえば、この設定は .htm ファイルやその他の Web ファイルに対する既定値です。

  • Embedded Resource (埋め込まれたリソース) - このファイルはメイン プロジェクトのビルド出力に DLL または実行可能ファイルとして埋め込まれます。 一般に、リソース ファイルに使用します。

    注意

    [ビルド アクション] プロパティは拡張できます。 そのため、このプロパティには、他の製品や機能によって追加されたオプションが表示されることがあります。

[ビルド アクション] の既定値は、ソリューションに追加するファイルの拡張子によって異なります。 たとえば、ソリューション エクスプローラーに Visual Basic プロジェクトを追加した場合、[ビルド アクション] の既定値は [コンパイル] になります。 これは、拡張子 .vb が、コンパイル可能なコード ファイルであることを示しているためです。 ファイル名と拡張子はソリューション エクスプローラーに表示されます。

プロジェクト内のファイルの名前は、アセンブリ マニフェスト内のマネージ リソースの識別子にはならないことに注意してください。詳細については、「アセンブリ マニフェスト」を参照してください。 識別子は、namespace.filename.extension になります。namespace は、Visual C# プロジェクトでは DefaultNamespace プロパティの値、Visual Basic プロジェクトでは RootNamespace プロパティの値です。 Filename および extension は元の指定内容のままです。 ファイルが .resx ファイルである場合は、プロジェクト システムがファイルに対して resgen.exe を実行し、リソース ファイルを作成します。 リソース ファイルはアセンブリに埋め込まれます。 このため、アセンブリ マニフェストは .resx ファイルではなく .resources ファイルを参照します。

たとえば、既定の名前空間が MyProj であるプロジェクトに MyFile.bmp ファイルを追加し、ビルド アクションを Embedded Resource に設定した場合は、MyProj.MyFile.bmp がアセンブリ マニフェストの識別子になります。 次に、MyFile.resx ファイルをプロジェクトに追加すると、既定のビルド アクションは Embedded Resource になり、MyProj.MyFile.resources がアセンブリ マニフェストの識別子になります。

.resx ファイルはイメージ ファイルを参照するため、リソース エディターによってイメージが追加されると、[ビルド アクション][なし] に設定されます。 ビルド時に、イメージは、.resx ファイルから作成された .resources ファイルに取り込まれます。 このイメージには、.resx ファイル用に自動生成された厳密に型指定されたクラスから簡単にアクセスできます。 したがって、この設定を Embedded Resource に変更しないでください。変更すると、イメージがアセンブリに 2 回取り込まれます。

実行時にリソース ファイル (.resx ファイルからコンパイルされたファイル) にアクセスする方法の詳細については、「ResourceManager」を参照してください。 実行時に他のすべての埋め込まれたファイルおよびリソースにアクセスする方法の詳細については「Assembly.GetManifestResourceStream メソッド」を参照してください。

[出力ディレクトリにコピー] プロパティ

このプロパティは、選択したソース ファイルを出力ディレクトリにコピーする際の条件を指定します。 ファイルを出力ディレクトリにコピーしない場合は [コピーしない] を選択します。 ファイルを常に出力ディレクトリにコピーする場合は [常にコピーする] を選択します。 出力ディレクトリに既に存在する同じ名前のファイルよりも新しいときにのみファイルをコピーする場合は、[新しい場合はコピーする] を選択します。

出力ディレクトリの変更の詳細については、「[ビルド] ページ (プロジェクト デザイナー) (C#)」または「[コンパイル] ページ (プロジェクト デザイナー) (Visual Basic)」を参照してください。

注意

スマート デバイス プロジェクトで、.dll ファイルまたは .exe ファイルが新しいかどうかは、Win32 バージョンを次のように比較して判別されます。

デバイス側のバージョンがデスクトップのバージョンよりも小さい場合、ファイルはコピーされます。

デバイス側のバージョンがデスクトップのバージョンよりも大きい場合、ファイルはコピーされません。

バージョンが同じ場合は、チェックサムが比較されます。 チェックサムが一致する場合、ファイルはコピーされません。 チェックサムが異なる場合、ファイルはコピーされます。

.dll や .exe 以外のファイルの場合、新しいかどうかはチェックサムのみに基づいて判別されます。

注意

データ ファイルは、出力ディレクトリ内の Data Files という名前のサブフォルダーにコピーされます。

[カスタム ツール] プロパティ

カスタム ツールは、実行時に、ある種類のファイルを別の種類のファイルに変換する場合に使用できるコンポーネントです。 たとえば、カスタム ツールの 1 つとして、XML スキーマ (.xsd) ファイルを読み込み、プログラムによってテーブルと列を公開するクラスをコード ファイル内に生成する、データセット コード ジェネレーターが考えられます。 製品内にカスタム ツールの定義済みリストがあり、このプロパティで、ファイルに適用できるカスタム ツールを確認できます。 まれに、このプロパティの値を変更することが必要な場合もあります。 このプロパティの値は、空白にするか、または組み込みのカスタム ツールの 1 つにする必要があります。

カスタム ツールを設定または変更するには、[プロパティ] ウィンドウで CustomTool プロパティをクリックし、カスタム ツールの名前を入力します。

[カスタム ツールの名前空間] プロパティ

プロジェクトにカスタム ツールを割り当てている場合は、[カスタム ツールの名前空間] プロパティを使用して、カスタム ツールで生成されたコードに割り当てる名前空間を指定できます。 [カスタム ツールの名前空間] プロパティの値を指定すると、ツールによって生成されたコードが、指定した名前空間に配置されます。 このプロパティが空白である場合、生成されたコードは、変換されたファイルを含むフォルダーの既定の名前空間に配置されます。 これは、Visual Basic ではプロジェクトのルートの名前空間になります。Visual C# では、フォルダーの DefaultNamespace プロパティの設定によって決まります。

参照

概念

Visual Studio の既定のプロジェクト テンプレート

Visual Basic および Visual C# のファイルの種類と拡張子

その他の技術情報

プロジェクト プロパティ (Visual Studio)

デバッグ構成およびリリース プロジェクト構成