Почему приложение Microsoft AspNetCore дважды отображается в зависимости - PullRequest
0 голосов
/ 18 декабря 2018

Создание нового проекта .net core web api

Просмотр зависимостей

См. Рисунок ниже.

Почему Microsoft.AspNetCore.App требуется дважды?Это по умолчанию csproj:

 <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.0.2105168" />
  </ItemGroup>

А также в SDK.

Я не понимаю причину этого, очень запутанно.Если я удаляю его из csproj и выполняю очистку и запуск, приложение запускается

enter image description here

1 Ответ

0 голосов
/ 18 декабря 2018

Это потому, что Microsoft.AspNetCore.App является зависимостью вашего приложения (узла NuGet), а также зависимостью от используемого вами SDK.Вы можете найти SDK в верхней части файла проекта:

<Project Sdk="Microsoft.NET.Sdk.Web">

Web SDK ссылается на пакет Microsoft.AspNetCore.App в одном из своих целевых файлов MSBuild.Вы можете найти цели SDK в папке установки SDK: C:\Program Files\dotnet\sdk\<version>\Sdks\Microsoft.NET.Sdk.Web\Sdk

Начиная с .NET Core 3.0, эти ссылки будут меняться, и вы можете ссылаться на структуру, используя элемент <FrameworkReference> вместо <PackageReference>элемент, чтобы избежать двусмысленности.Для получения дополнительной информации см. Следующие выпуски GitHub:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...