49

Visual Studio のプロジェクトに、出力に含めたいファイルがありますが、コンパイルまたは埋め込みは行いません。

これを達成するには2つの方法があることを認識しています。

  1. ファイルのビルド アクションを「コンテンツ」に設定する
  2. 「出力ディレクトリにコピー」を「常にコピー」または「新しい場合はコピー」に設定する

違いが何であり、各オプションがどのシナリオに適しているのか誰か教えてもらえますか?

4

3 に答える 3

26

を に設定するBuild ActionContent、ファイルはコンパイルされず、Content 出力グループに配置されます。

ファイルがコピーされるかどうかは、Copy to Output Directoryその時点での設定によって異なります。

もちろん、Copy Alwaysファイルに設定すると、コンパイルされてからコピーされる場合があります。

MSDN のファイル プロパティを参照してください。

コンテンツ - ファイルはコンパイルされませんが、コンテンツ出力グループに含まれます。たとえば、この設定は、.htm またはその他の種類の Web ファイルの既定値です。

于 2012-09-03T09:37:56.720 に答える
11

コンテンツビルド アクションは、WPF プロジェクト (おそらく ASP も) で目に見える効果があります。

追加します

[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("filename")]

WpfApplication1_Content.g.cs。についてお読みくださいAssemblyAssociatedContentFileAttribute

WinForms およびコンソール アプリケーション (OP が使用している可能性があるもの) ではこれを行わないため、ビルド時にNoneアクションとの違いはありません。

このコメントでは、展開への影響に関するメモも見つけました。

また、ワンクリック デプロイを使用するとコンテンツが含まれますが、[新しい場合はコピー] が選択されていても [なし] は含まれないことに注意してください。

おそらく、これはコンソールおよび WinForms アプリケーションでも機能します (私は試していません)。

于 2014-03-28T06:36:48.153 に答える