Как стать автором
Обновить
6
0
Alexey Krakovtsev @8vaid8

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

Отправить сообщение
Вот только простая установка (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) с целью избежания ошибки сборки. В статью можно добавить подобные реальные примеры использования.

Информация

В рейтинге
Не участвует
Откуда
Ростов-на-Дону, Ростовская обл., Россия
Дата рождения
Зарегистрирован
Активность