Простите за длинный пост.Я пытаюсь дать как можно больше информации.
Я переместил некоторые классы из библиотеки .Net Framework в новую библиотеку .Net Standard , чтобы ссылаться на них из существующих .Net Framework проектов и новые .Net Core проекты.После добавления нового стандартного проекта .net в решение, содержащее другие проекты .Net Framework, существующее определение сборки (XAML) не может создать стандартный проект .net.Он прекрасно работает, если я передаю / t: restore, build как параметры MSBuild, но это нарушает сборку для существующих .NET Framework проектов в решении.Visual Studio прекрасно умеет создавать гибридные решения.Мне нужно встроить его в это гибридное решение, потому что нижестоящий проект выполняет упаковку и отправку в наш репозиторий nuget (OctopusDeploy).
Чтобы преодолеть это, я попытался использовать цели по умолчанию и исходные цели, но не смог получитьчтобы пройти.
См. пример проекта ниже:
<Project InitialTargets="restore" DefaultTargets="publish" Sdk="Microsoft.NET.Sdk">
<PropertyGroup Label="Globals">
<SccProjectName>SAK</SccProjectName>
<SccProvider>SAK</SccProvider>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
</PropertyGroup>
<PropertyGroup>
<RootNamespace>MyCompany.Common</RootNamespace>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>MyCompany.CommonStandard</AssemblyName>
</PropertyGroup>
</Project>
С файлом вышеуказанного проекта я получаю эту ошибку.C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ CommonExtensions \ Microsoft \ NuGet \ NuGet.targets (240): существует круговая зависимость в целевом графе зависимостей, включающая целевой объект "_FilterRestoreGraphProjectInputItems"
Другие вещи, которые я пробовал:
<Project DefaultTargets="restore;build;publish" Sdk="Microsoft.NET.Sdk">
ИЛИ
<Project DefaultTargets="restore;publish" Sdk="Microsoft.NET.Sdk">
Ошибка: Куча ошибок, указывающих, что почти все не определено.(vbc: тип 'System.String' не определен.) Примечание. Передача совпадает с целями msbuild, такими как / t: восстановление, сборка, публикация работ.
<Project Targets="restore,build,publish" Sdk="Microsoft.NET.Sdk">
ИЛИ
<Project DefaultTargets="publish" Sdk="Microsoft.NET.Sdk">
ИЛИ
<Project DefaultTargets="publish" Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<BuildDependsOn>
Restore;
$(BuildDependsOn);
</BuildDependsOn>
</PropertyGroup>
Ошибка: \ obj \ project.assets.json 'не найден.Запустите восстановление пакета NuGet, чтобы сгенерировать этот файл.
<Project InitialTargets="restore" Targets="build,publish" Sdk="Microsoft.NET.Sdk">
ИЛИ
<Project InitialTargets="restore" Targets="publish" Sdk="Microsoft.NET.Sdk">
Ошибка: В целевом графе зависимостей существует циклическая зависимостьс участием цели "_FilterRestoreGraphProjectInputItems".
Спасибо за чтение.Буду очень признателен за любые рекомендации по решению этой проблемы.