我有一个在VS2017中运行良好的多项目解决方案,我已经安装了VS2019,在编译时我收到了五条错误消息:
格式的四种:这个版本的Microsoft.AspNetCore.App只与netcoreapp2.2格式兼容。请针对netcoreapp2.2或选择与netcoreapp3.1兼容的Microsoft.AspNetCore.app版本。
其中一种格式是:项目'..\ Project -path\project.csproj‘targets 'netcoreapp3.1;它不能被目标为'.NETCoreApp,Version=v2.2’的项目引用。
此外,如果您查看错误消息中引用的项目--依赖项、包、SDK --它们都有黄色的警告符号(悬停和右键单击似乎没有提供其他细节)。
我试过清理,删除bin和obj文件夹,重新构建,检查SDK版本,但没有成功
我可以确认我有一个带有SDK版本的global.json ( 2.2.103 ),当我在这些项目目录中运行'dotnet -时,我会得到2.2.103。
这里发生了什么事?它从什么/哪里提取netcoreapp3.1,以及如何解决这些错误?
更新: CSPROJ详细信息
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<LangVersion>7.3</LangVersion>
</PropertyGroup>
<ItemGroup>
<None Include="appsettings.json" CopyToOutputDirectory="Always" />
<None Include="favicon.ico" CopyToOutputDirectory="Always" />
<None Include="appDevLocalOverride.json" />
<PackageReference Include="Lamar.Microsoft.DependencyInjection" Version="3.1.0" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.8.1" />
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.AzureKeyVault.HostingStartup" Version="2.0.2" />
<PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning" Version="3.1.2" />
<PackageReference Include="Microsoft.Azure.KeyVault" Version="3.0.3" />
<PackageReference Include="Microsoft.Azure.Services.AppAuthentication" Version="1.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="2.2.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.2.0" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" />
</ItemGroup>发布于 2020-01-01 22:59:48
我不知道为什么或如何工作,但我偶然发现了一个解决方案:
打开csproj
<PackageReference Include="Microsoft.AspNetCore.App" /> to <PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.0" /> to <PackageReference Include="Microsoft.AspNetCore.App" />远程相关)
这似乎对我有效,为什么一个简单的清洁解决方案和重建不是一个奇怪的答案;但希望这将帮助其他人!
https://stackoverflow.com/questions/59549828
复制相似问题