xproj
コアプロジェクトをcsproj
に移行しました。すべてが正常に機能していますが、公開構成に問題があります。ドキュメントに基づく: https://docs.Microsoft.com/en-us/dotnet/articles/core/tools/project-json-to-csproj 公開中にファイルを除外できるはずです。
Fに次の行を追加しました
<None Include="*.json" CopyToPublishDirectory="Never" />
<None Include="wwwroot\**\*.map;wwwroot\**\*.less;*.pdb" CopyToPublishDirectory="Never" />
<None Include="wwwroot\**\*" CopyToPublishDirectory="PreserveNewest" />
それでも *.map
、.json
および.less
ファイルが公開フォルダーにコピーされます。私は運が悪かった別の注文を試しました。
特定のファイルを公開から除外するにはどうすればよいですか?
短い答え:代わりに次のスニペットを使用してください:
<ItemGroup>
<Content Update="**\*.map;**\*.less;*.json" CopyToPublishDirectory="Never" />
</ItemGroup>
これらのパターンを「DefaultItemExcludes」プロパティに追加することもできます。
<PropertyGroup>
<DefaultItemExcludes>$(DefaultItemExcludes);**\*.map;**\*.less;*.json</DefaultItemExcludes>
</PropertyGroup>
長い答え:
Microsoft.NET.SdkおよびMicrosoft.NET.Sdk.Webには、デフォルト項目の設定が含まれています。これらは、常にコンパイル、埋め込み、出力へのコピーなどが必要なプロジェクトフォルダー内のアイテムのグロブです。これを制御するための設定がいくつかありますが、十分に文書化されていません。
デフォルトのglobにすでに含まれているアイテムの メタデータ値 (CopyToPublishDirectory設定など)を変更する場合は、「含める」ではなく「更新」を使用する必要があります。
内部で何が起こっているかを確認するために、Microsoft.NET.SdkおよびMicrosoft.NET.Sdk.Webのデフォルトのアイテム設定を以下に示します。