Search
Write a publication
Pull to refresh
6
0
Alexey Krakovtsev @8vaid8

Пользователь

Send message
Вот только простая установка (Base)IntermediateOutputPath не решает проблему. project.assets.json и другие файлы продолжают генерироваться в стандартной папке Obj. Чтобы этого избежать, приходится устанавливать (Base)IntermediateOutputPath перед импортом Sdk.props, т.к. MSBuildProjectExtensionsPath(который устанавливает путь к project.assets.json) берет путь BaseIntermediateOutputPath (по умолчанию Obj) до импорта.
<Project>
  <PropertyGroup>
    <BaseIntermediateOutputPath>objCore</BaseIntermediateOutputPath>
  </PropertyGroup>
 <Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
    <PropertyGroup>
        <TargetFramework>netstandard2.0</TargetFramework>
    </PropertyGroup>
 <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
...    
</Project>
Установка этой переменной(x86, x64) может очистить папку Obj?
P.S. Проблема в том, что если первый раз собрать проект под .Net Core, а затем под полный фреймворк, то, если не очищать папку Obj, появляется ошибка «Your project is not referencing the .NETFramework..». Причём только если собирать из Visual Studio. Через dotnet build всё проходит.
Полезно. Использовал таск RemoveDir для очистки Obj папки для мультитаргет проекта (Core и Full Framework) с целью избежания ошибки сборки. В статью можно добавить подобные реальные примеры использования.

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity