これは新しいプロジェクト形式の一部です。特に、ASP.NETコアプロジェクトに使用されている新しいMicrosoft.NET.Sdk.Web
プロジェクトSDKです。
デフォルトでは、EnableDefaultContentItems
はset to true
です。その後、SDKのMSBuildのプロパティプロジェクトcontains the following:
<ItemGroup Condition=" '$(EnableDefaultItems)' == 'true' And '$(EnableDefaultContentItems)' == 'true' ">
<!-- Publish everything under wwwroot, all JSON files, all web.config files and all Razor files -->
<Content Include="wwwroot/**" CopyToPublishDirectory="PreserveNewest" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
<Content Include="**/web.config" CopyToPublishDirectory="PreserveNewest" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);wwwroot/**" />
<Content Include="**/*.cshtml" CopyToPublishDirectory="PreserveNewest" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);wwwroot/**" />
<Content Include="**/*.json" CopyToPublishDirectory="PreserveNewest" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);wwwroot/**" />
<!-- Set CopyToPublishDirectory to Never for items under AppDesignerFolder ("Properties", by default) to avoid publishing launchSettings.json -->
<Content Update="$(AppDesignerFolder)/**" CopyToPublishDirectory="Never" Condition="'$(AppDesignerFolder)' != ''"/>
<!-- Remove Content items from other item types (in a way that CPS understands) -->
<None Remove="wwwroot/**;**/*.json;**/web.config;**/*.cshtml" />
<Compile Remove="wwwroot/**" />
<EmbeddedResource Remove="wwwroot/**" />
<!-- Keep track of the default content items for later to distinguish them from newly generated content items -->
<_ContentIncludedByDefault Include="@(Content)" />
</ItemGroup>
だから基本的には、EnableDefaultContentItems
は自動的にプロジェクトを作る:
- は、
wwwroot/
に任意のweb.config
、すべての.cshtml
と.json
ファイルをすべてのファイルを公開します。
- 公開時に
Properties/
フォルダを無視します。
- これらの公開コンテンツファイルがコンパイルまたは埋め込まれないようにします。あなたが
wwwroot
フォルダを使用していて、その名前を変更していない場合
だから、単に手動で、プロジェクト内のすべてのこれらの例外を指定することを避けるために、デフォルトのまますることをお勧めします。これらは、MSBuildを手に入れることなくプロジェクトを迅速に実行できる共通のデフォルトです。
もちろん、これらがデフォルトであるため、デフォルトのコンテンツアイテムを無効にすることなく、後で個々のパスについてより明示的なルールを設定することができます。