Тема: Якщо ви хочете, щоб ваша тека obj не загромаджувала ваше дерево сирців
Якщо ви хочете, щоб ваша тека obj не загромаджувала ваше дерево сирців, то ви потрібно встановити проміжну теку для збирання проекту. Це можна зробити додавши по два наступних рядки у csproj файл:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
...
<BaseIntermediateOutputPath>..\..\Temp\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
<IntermediateOutputPath>$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
...
<BaseIntermediateOutputPath>..\..\Temp\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
<IntermediateOutputPath>$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>
Це дуже зручно, особливо якщо у вас декілька проектів, ви можете одним разом видалити теку Temp і так почисти усі білди. Також раджу налаштувати Properties -> Build -> Output path для всіх проектів.
Змінна $(MSBuildProjectName) повертає ім'я проекту.