Visual Studio のプロジェクトに、出力に含めたいファイルがありますが、コンパイルまたは埋め込みは行いません。
これを達成するには2つの方法があることを認識しています。
- ファイルのビルド アクションを「コンテンツ」に設定する
- 「出力ディレクトリにコピー」を「常にコピー」または「新しい場合はコピー」に設定する
違いが何であり、各オプションがどのシナリオに適しているのか誰か教えてもらえますか?
Visual Studio のプロジェクトに、出力に含めたいファイルがありますが、コンパイルまたは埋め込みは行いません。
これを達成するには2つの方法があることを認識しています。
違いが何であり、各オプションがどのシナリオに適しているのか誰か教えてもらえますか?
を に設定するBuild Action
とContent
、ファイルはコンパイルされず、Content 出力グループに配置されます。
ファイルがコピーされるかどうかは、Copy to Output Directory
その時点での設定によって異なります。
もちろん、Copy Always
ファイルに設定すると、コンパイルされてからコピーされる場合があります。
MSDN のファイル プロパティを参照してください。
コンテンツ - ファイルはコンパイルされませんが、コンテンツ出力グループに含まれます。たとえば、この設定は、.htm またはその他の種類の Web ファイルの既定値です。
コンテンツビルド アクションは、WPF プロジェクト (おそらく ASP も) で目に見える効果があります。
追加します
[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("filename")]
にWpfApplication1_Content.g.cs
。についてお読みくださいAssemblyAssociatedContentFileAttribute
。
WinForms およびコンソール アプリケーション (OP が使用している可能性があるもの) ではこれを行わないため、ビルド時にNoneアクションとの違いはありません。
このコメントでは、展開への影響に関するメモも見つけました。
また、ワンクリック デプロイを使用するとコンテンツが含まれますが、[新しい場合はコピー] が選択されていても [なし] は含まれないことに注意してください。
おそらく、これはコンソールおよび WinForms アプリケーションでも機能します (私は試していません)。