ほとんどの場合、Visual Studioがデフォルトで設定したものをそのまま使用します...ここでは、ソリューションエクスプローラーで選択した各ファイルのBuildActionプロパティを参照しています。いくつかのオプションがあり、それぞれが何をするかを知ることは困難です。
ほとんどの場合、Visual Studioがデフォルトで設定したものをそのまま使用します...ここでは、ソリューションエクスプローラーで選択した各ファイルのBuildActionプロパティを参照しています。いくつかのオプションがあり、それぞれが何をするかを知ることは困難です。
回答:
なし:ファイルはプロジェクト出力グループに含まれず、ビルドプロセスでコンパイルされません。例としては、Readmeファイルなどのドキュメントを含むテキストファイルがあります。
コンパイル:ファイルはビルド出力にコンパイルされます。この設定はコードファイルに使用されます。
内容:Application.GetContentStream(URI)を介して、ファイル(アセンブリと同じディレクトリ内)をストリームとして取得できます。このメソッドが機能するためには、ファイルを「コンテンツ」としてマークしたときにVisual Studioが優雅に追加するAssemblyAssociatedContentFileカスタム属性が必要です。
埋め込みリソース:専用のアセンブリマニフェストリソースにファイルを埋め込みます。
リソース (WPFのみ):AppName.g.resourcesという名前の共有アセンブリアセンブリマニフェストリソース(同じ設定のアセンブリ内のすべてのファイルによる)にファイルを埋め込みます。
ページ (WPFのみ):xaml
ファイルをにコンパイルするために使用されますbaml
。次にbaml
、と同じ手法で埋め込まれResource
ます(つまり、 `AppName.g.resourcesとして利用可能)
ApplicationDefinition (WPFのみ):アプリケーションを定義するXAML /クラスファイルをマークします。x:Class = "Namespace.ClassName"で分離コードを指定し、StartupUri = "Window1.xaml"でスタートアップフォーム/ページを設定します。
SplashScreen (WPFのみ):WPFアプリケーションが読み込まれると自動的に表示されるようにマークされた画像はSplashScreen
フェードアウトします
DesignData:XAML ビューモデルをコンパイルして、Visual Studioでサンプルデータを使用してユーザーコントロールをプレビューできるようにします(モックタイプを使用)
DesignDataWithDesignTimeCreatableTypes:XAML ビューモデルをコンパイルして、ユーザーコントロールをVisual Studioのサンプルデータでプレビューできるようにします(実際の型を使用します)
EntityDeploy:(Entity Framework):Entity Frameworkアーティファクトのデプロイに使用
AdditionalFiles
ですか?私はそれをVS 2015で見ましたが、そのリファレンスを見つけることができませんでした。
ドキュメントから:
BuildActionプロパティは、ビルドの実行時にVisual Studioがファイルをどのように処理するかを示します。BuildActionには、次のいずれかの値を指定できます。
なし-ファイルはプロジェクト出力グループに含まれず、ビルドプロセスでコンパイルされません。例としては、Readmeファイルなどのドキュメントを含むテキストファイルがあります。
コンパイル-ファイルはビルド出力にコンパイルされます。この設定はコードファイルに使用されます。
コンテンツ-ファイルはコンパイルされていませんが、コンテンツ出力グループに含まれています。たとえば、この設定は.htmまたはその他の種類のWebファイルのデフォルト値です。
埋め込みリソース-このファイルは、DLLまたは実行可能ファイルとしてメインプロジェクトのビルド出力に埋め込まれます。通常、リソースファイルに使用されます。
ページ-指定されたXAMLファイルを取得してBAMLにコンパイルし、その出力をアセンブリのマネージリソースストリーム(具体的にはAssemblyName.g.resources)に埋め込みます。さらに、ルートXAML要素に適切な属性がある場合、ファイル、blah.g.csファイルを作成します。このファイルには、そのページの「分離コード」の部分クラスが含まれます。これには基本的に、BAML goopを呼び出してファイルをメモリに再水和し、クラスのメンバー変数のいずれかを現在作成されているアイテムに設定します(たとえば、アイテムにx:Name = "foo"を配置した場合) 、これを行うことができます。foo.Background= Purple;または同様の。
ApplicationDefinition-Pageに似ていますが、さらに一歩進んで、アプリオブジェクトをインスタンス化し、その上でrunを呼び出すアプリケーションのエントリポイントを定義します。これにより、StartupUriプロパティによって設定された型がインスタンス化され、メインウィンドウが表示されます。 。
また、明確にするために、この質問は全体として結果セットでは無限大です。MSBuildタスクをビルドするだけで、誰でも追加のBuildActionを定義できます。%systemroot%\ Microsoft.net \ framework \ v {version} \ディレクトリを見て、Microsoft.Common.targetsファイルを見ると、さらに多くの情報を解読できるはずです(例:VS Pro以降では、プライベートクラスのユニットテストを支援するプライベートアクセサーを生成できる「シャドウ」アクションがあります。
VS2010には、「ビルドアクション」のプロパティと「出力ディレクトリにコピー」のプロパティがあります。そのため、コピープロパティが「新しい場合にコピー」または「常にコピー」に設定されている場合、「なし」のアクションでもビルドディレクトリにコピーされます。
したがって、「Content」のビルドアクションは、「Application.GetContentStream」を介してアクセスするコンテンツを示すために予約する必要があります。
一部の外部にリンクされた.configインクルードに、「なし」の「ビルドアクション」設定と「新しい場合はコピー」の「出力ディレクトリにコピー」設定を使用しました。
G.
VS2008では、最も役立つと思われるドキュメントエントリは次のとおりです。
Windows Presentation Foundation WPFアプリケーション(WPF)の構築
ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/wpf_conceptual/html/a58696fd-bdad-4b55-9759-136dfdf8b91c.htm
ApplicationDefinitionアプリケーション定義を含むXAMLマークアップファイル(ルート要素がApplicationであるXAMLマークアップファイル)を識別します。Installがtrueで、OutputTypeがwinexeの場合、ApplicationDefinitionは必須です。WPFアプリケーション、およびその結果、MSBuildプロジェクトは1つのApplicationDefinitionしか持つことができません。
ページコンテンツがバイナリ形式に変換され、アセンブリにコンパイルされるXAMLマークアップファイルを識別します。ページアイテムは、通常、分離コードクラスと組み合わせて実装されます。
最も一般的なページアイテムは、最上位の要素が次のいずれかであるXAMLファイルです。
Window (System.Windows..::.Window).
Page (System.Windows.Controls..::.Page).
PageFunction (System.Windows.Navigation..::.PageFunction<(Of <(T>)>)).
ResourceDictionary (System.Windows..::.ResourceDictionary).
FlowDocument (System.Windows.Documents..::.FlowDocument).
UserControl (System.Windows.Controls..::.UserControl).
リソースアプリケーションアセンブリにコンパイルされるリソースファイルを識別します。前述のように、UICultureはリソース項目を処理します。
コンテンツアプリケーションと共に配布されるコンテンツファイルを識別します。コンテンツファイルを記述するメタデータは、アプリケーションにコンパイルされます(AssemblyAssociatedContentFileAttributeを使用)。
Microsoft Connect(DesignDataおよびDesignDataWithDesignTimeCreatableTypesの説明)タイプのこのページはどうですか。引用:
次に、サンプルデータファイルの2つのビルドアクションについて説明します。
サンプルデータの.xamlファイルには、以下のビルドアクションのいずれかを割り当てる必要があります。
DesignData:サンプルデータ型は偽型として作成されます。このビルドアクションは、サンプルデータタイプが作成できない場合、またはサンプルデータ値を定義する読み取り専用プロパティがある場合に使用します。
DesignDataWithDesignTimeCreatableTypes:サンプルデータファイルで定義されているタイプを使用して、サンプルデータタイプが作成されます。デフォルトの空のコンストラクターを使用してサンプルデータ型を作成できる場合は、このビルドアクションを使用します。
それほど信じられないほど網羅的ではありませんが、少なくともヒントが得られます。このMSDNウォークスルーは、いくつかのアイデアも提供します。これらのビルドアクションがSilverlight以外のプロジェクトにも適用できるかどうかはわかりません。