简体   繁体   English

警告 NETSDK1080:面向 .NET Core 3.0 或更高版本时,不需要对 Microsoft.AspNetCore.App 的 PackageReference

[英]warning NETSDK1080: A PackageReference to Microsoft.AspNetCore.App is not necessary when targeting .NET Core 3.0 or higher

How do I fix the nasty warning I'm getting when running .NET Core tests from a command line via dotnet test ?如何修复在通过dotnet test从命令行运行 .NET Core 测试时收到的令人讨厌的警告?

The dotnet --version returns back 3.1.101 . dotnet --version返回3.1.101

 $ dotnet test watch : Started C:\\Program Files\\dotnet\\sdk\\3.1.101\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.NET.Sdk.DefaultItems.targets(151,5): warning NETSDK1080: A PackageReference to Microsoft.AspNetCore.App is not necessary when targeting .NET Core 3.0 or higher. If Microsoft.NET.Sdk.Web is used, the shared framework will be referenced automatically. Otherwise, the PackageReference should be replaced with a FrameworkReference. [C:\\github\\demo\\Demo\\SmartHome.API\\SmartHome.API.csproj] C:\\Program Files\\dotnet\\sdk\\3.1.101\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.NET.Sdk.DefaultItems.targets(151,5): warning NETSDK1080: A PackageReference to Microsoft.AspNetCore.App is not necessary when targeting .NET Core 3.0 or higher. If Microsoft.NET.Sdk.Web is used, the shared framework will be referenced automatically. Otherwise, the PackageReference should be replaced with a FrameworkReference. [C:\\github\\demo\\Demo\\SmartHome.API\\SmartHome.API.csproj] Test run for C:\\github\\demo\\Demo\\SmartHome.API.Test\\bin\\Debug\\netcoreapp3.1\\SmartHome.API.Test.dll(.NETCoreApp,Version=v3.1) Microsoft (R) Test Execution Command Line Tool Version 16.3.0 Copyright (c) Microsoft Corporation. All rights reserved. Starting test execution, please wait... A total of 1 test files matched the specified pattern.

Here's what my SmartHome.API.Test.csproj looks like.这是我的SmartHome.API.Test.csproj样子。

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

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>

    <IsPackable>false</IsPackable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="FluentAssertions" Version="5.10.0" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.2.0" />
    <PackageReference Include="MongoDB.Driver" Version="2.10.1" />
    <PackageReference Include="xunit" Version="2.4.0" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
    <PackageReference Include="coverlet.collector" Version="1.0.1" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\SmartHome.API\SmartHome.API.csproj" />
    <ProjectReference Include="..\SmartHome.Models\SmartHome.API.Models.csproj" />
  </ItemGroup>

</Project>

And this is the SmartHome.API.csproj which seems to be the source of the issue.这就是SmartHome.API.csproj ,它似乎是问题的根源。

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

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="FluentValidation" Version="8.6.1" />
    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.8" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.1" />
    <PackageReference Include="MongoDB.Driver" Version="2.10.1" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\SmartHome.Models\SmartHome.API.Models.csproj" />
  </ItemGroup>

</Project>

Changing a package dependency from Microsoft.AspNetCore.App (2.2.8) into a FrameworkReference in the SmartHome.API.csproj solved the problem for me at the cost of introducing a new one.Microsoft.AspNetCore.App (2.2.8) 中的包依赖项更改为SmartHome.API.csprojFrameworkReference为我解决了这个问题,但代价是引入了一个新的问题。

Initial fix初始修复

+  <ItemGroup>                                                                                                                         
+    <FrameworkReference Include="Microsoft.AspNetCore.App" />                                                                         
+  </ItemGroup>                                                                                                                        
+                                                                                                                                      
   <ItemGroup>                                                                                                                         
     <PackageReference Include="FluentValidation" Version="8.6.1" />                                                                   
-    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.8" />                                                           
     <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.1" />                                      
     <PackageReference Include="MongoDB.Driver" Version="2.10.1" />                                                                    
   </ItemGroup>                                                                                                                        

New warning新警告

I started seeing a new warning:我开始看到一个新警告:

 C:\\Program Files\\dotnet\\sdk\\3.1.101\\Sdks\\Microsoft.NET.Sdk\\targets\\ Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(39,5): warning NETSDK1086: A FrameworkReference for 'Microsoft.AspNetCore.App' was included in the project. This is implicitly referenced by the .NET SDK and you do not typically need to reference it from your project. For more information, see https://aka.ms/sdkimplicitrefs

Final fix最终修复

...so I ended up removing the "Microsoft.AspNetCore.App" reference altogether. ...所以我最终完全删除了"Microsoft.AspNetCore.App"引用。 Now the build is warning-free!现在构建是无警告的!

ie the file looks like this:即文件看起来像这样:

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

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="FluentValidation" Version="8.6.1" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.1" />
    <PackageReference Include="MongoDB.Driver" Version="2.10.1" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\SmartHome.Models\SmartHome.API.Models.csproj" />
  </ItemGroup>

</Project>                                                                                                                 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Warning.NETSDK1071 对“Microsoft.AspNetCore.App”的 PackageReference 指定了“2.1.6”的版本 - Warning NETSDK1071 A PackageReference to 'Microsoft.AspNetCore.App' specified a Version of `2.1.6` PackageReference Microsoft.AspNetCore.App 从核心 2.2 到核心 3 和 3.1 的方式变化 - PackageReference Microsoft.AspNetCore.App change of manner from core 2.2 to core 3 & 3.1 NETSDK1073:无法识别 FrameworkReference 'Microsoft.AspNetCore.App' - NETSDK1073: The FrameworkReference 'Microsoft.AspNetCore.App' was not recognized 什么<FrameworkReference Include="Microsoft.AspNetCore.App" />实际上是在 .net core 3+ 中做的吗? - What <FrameworkReference Include="Microsoft.AspNetCore.App" /> is actually do in .net core 3+? 控制台应用程序已更新为 .Net Core 3.1 错误找不到框架“Microsoft.AspNetCore.App”,版本“3.1.0” - Console App Updated to .Net Core 3.1 Error The framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found 从 2.1 迁移到 3.1.Net Core,Microsoft.AspNetCore.App 的替代品是什么? - Migrating from 2.1 to 3.1 .Net Core, What is the Replacement of Microsoft.AspNetCore.App? 安装了.Net Core最新的SDK,但未找到'Framework'Microsoft.AspNetCore.App',版本'2.1.0' - .Net Core lastest SDK installed but getting 'Framework 'Microsoft.AspNetCore.App', version '2.1.0' was not found Microsoft.AspNetCore.App - 版本控制/是否应该在非ASP.NET类库中引用? - Microsoft.AspNetCore.App - Versioning / Should it be referenced in non ASP.NET class libraries? Docker - 在构建时找不到框架 microsoft.AspNetCore.App,版本 &#39;3.1&#39;0 - Docker - The framework microsoft.AspNetCore.App, version '3.1'0 was not found on build 修复指定的框架&#39;Microsoft.AspNetCore.App&#39;版本&#39;2.1.1&#39; - Fixing The specified framework 'Microsoft.AspNetCore.App', version '2.1.1'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM