Asp.net core 为什么Microsoft AspNetCore应用程序在依赖项中显示两次
创建一个新的.net核心web api项目 查看依赖项 见下图 为什么Microsoft.AspNetCore.App需要两次? 它位于默认csproj中:Asp.net core 为什么Microsoft AspNetCore应用程序在依赖项中显示两次,asp.net-core,Asp.net Core,创建一个新的.net核心web api项目 查看依赖项 见下图 为什么Microsoft.AspNetCore.App需要两次? 它位于默认csproj中: <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" P
<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中删除并进行清理和运行,应用程序将运行
这是因为
Microsoft.AspNetCore.App
既是应用程序(NuGet节点)的依赖项,也是您正在使用的SDK的依赖项。您可以在项目文件的顶部找到SDK:
<Project Sdk="Microsoft.NET.Sdk.Web">
Web SDK在其一个MSBuild目标文件中引用了Microsoft.AspNetCore.App
包。您可以在SDK安装文件夹中找到SDK目标:C:\ProgramFiles\dotnet\SDK\\Sdks\Microsoft.NET.SDK.Web\SDK
从.NET Core 3.0开始,这些引用将发生变化,您可以使用
元素而不是
元素来引用框架,以避免歧义。有关更多信息,请参阅以下GitHub问题:
,而不包含版本号。