「古い学校」のMSBuildプロジェクト-VS2017のWindows Formsでも使用されているように-csprojファイルのDependentUpon
アイテムを介してファイルを「ネスト」できます。
これを使用して、野田タイムのユニットテストをグループ化しました。
<Compile Include="LocalDateTest.PeriodArithmetic.cs">
<DependentUpon>LocalDateTest.cs</DependentUpon>
</Compile>
これにより、簡単にナビゲートできるテストになりました。
.NET Coreのproject.json
に移行すると、この機能が意図的に「失われ」ましたが、MSBuildに変換すると機能が戻ることを期待していました。ただし、.NET Core SDK(ルート要素<Project Sdk="Microsoft.NET.Sdk">
)に基づくMSBuildプロジェクトは、ItemGroup
が同じもので手動で追加された場合でも、Visual Studio 2017で同じ処理を取得していないようです「古い学校」プロジェクトとしての要素。
ASP.NET Coreプロジェクトは、縮小されたCSSおよびJavascriptの自動ネストを受け取りますが、.NET CoreライブラリプロジェクトでC#にそれを適用する方法は明確ではありません。
私は私のMicrosoft.NET.Sdk
スタイルのプロジェクトは、次のようなものを使用します。
<ItemGroup>
<Compile Update="LocalDateTest.*.cs">
<DependentUpon>LocalDateTest.cs</DependentUpon>
</Compile>
</ItemGroup>
ここでのコツは、Update
の代わりにInclude
を使用することです。これは、暗黙的なアイテムがメインプロジェクトの前にインポートされるpropsファイルから取得されるためです。追加のInclude
は、既に含まれているファイルには影響しませんが、Update
を使用して変更できます。
Visual Studio 2019では、.NET Core 2.2 <Project Sdk="Microsoft.NET.Sdk">
うまくネストされたappsettings.json/appsettings.Development.jsonファイルが必要なプロジェクト。<Project Sdk="Microsoft.NET.Sdk.Web">
プロジェクト。
.CSPROJに追加しなければならなかったものは次のとおりです。
<ItemGroup>
<Content Include="appsettings.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="appsettings.Development.json">
<DependentUpon>appsettings.json</DependentUpon>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
その後、ソリューションエクスプローラーで変更を有効にするには、プロジェクトをアンロード/再ロードする必要がありました。これらのファイルは常に出力ディレクトリにコピーされるように設定していることに注意してください。
。netstandardx.xを使用する場合、 NestedIn は使用できません。動いていない。
あなたは.csprojで手動でそれを行うことができます
<ItemGroup><Compile Include="BaseClass">ChildClass.cs</Compile></ItemGroup>