https://i.stack.imgur.com/bOqUI.png
https://i.stack.imgur.com/XqkkI.png
https://i.stack.imgur.com/cbxqp.png
EDIT 2018:只有在你真的知道自己在做什么的情况下,才按照更新包的说明进行操作。在大多数情况下,您永远不需要手动更新此包或其他标记为“被项目阻止”的包。依赖于框架的应用程序将使用可用的最新运行时,而自包含应用程序将使用此包的较新版本自动执行额外的构建。 (在某些极端情况下,您需要在测试项目中升级此包。在这种情况下,添加 <TargetLatestRuntimePatch>true</…>
和 see this Q&A 以获得其他选项)
Microsoft.NET.Sdk
推断的隐式包引用无法通过 NuGet 更新。
如果您从 project.json 迁移,具有 1.1.0
引用的项目可能包含
<RuntimeFrameworkVersion>1.1.0</RuntimeFrameworkVersion>
在 csproj 文件或类似的项目中(如果您之前可能使用包管理器来设置版本):
<PackageReference Update="Microsoft.NETCore.App" Version="1.1.0" />
删除上述条目,所有包将自动引用 1.1.2
(或任何已安装的 SDK 认为是最新的)。或者,在所有项目中设置 RuntimeFrameworkVersion
。
我在尝试在 .NET Core 2 Web 应用程序中安装 Entityframework.Core 包时遇到了类似的问题。为了解决这个问题,我通过包管理器控制台强制安装:
Install-Package Microsoft.NETCore.App -Version 2.0.5
(2.0.5 是当时的最新版本)
我希望它有用。和平。
对我来说添加
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
成功了
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
</PropertyGroup>
简答
将显式版本添加到 .csproj 文件中的 Microsoft.AspNetCore.App
包引用。
长答案
我有一个全新的 netcoreapp2.1 项目。以下内容位于 .csproj 文件中。请注意,没有与 Microsoft.AspNetCore.App
包引用关联的版本。
<ItemGroup>
...
<PackageReference Include="Microsoft.AspNetCore.App" />
...
</ItemGroup>
我添加了对 Microsoft.Extensions.Logging.Abstractions
包的显式引用以解决依赖项不匹配(构建错误)。 Micorsoft.AspNetCore.App
想要此依赖项的 2.1.0 版,但另一个包想要 2.1.1 版。我的 .csproj 文件现在看起来像这样。
<ItemGroup>
...
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.1.1" />
...
</ItemGroup>
这将构建错误减少为关于 Micorsoft.AspNetCore.App
需要 Microsoft.Extensions.Logging.Abstractions
包的 2.1.0 版本的警告,但当然,2.1.1 版本已得到解决。
如 OP 所述,试图将 Micorsoft.AspNetCore.App
更新到版本 2.1.1 以修复警告被包管理器阻止。
我更新了我的 Micorsoft.AspNetCore.App
包引用,以明确使用这样的版本 2.1.1。
<ItemGroup>
...
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.1.1" />
...
</ItemGroup>
这修复了构建警告并解除了包管理器中 Microsoft.AspNetCore.App
的所有版本。我什至能够删除对 Microsoft.Extensions.Logging.Abstractions
的显式引用,而无需重新引入原始错误。最终的 .csproj 看起来像这样,没有任何问题。
<ItemGroup>
...
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
...
</ItemGroup>
我有同样的问题,我认为问题出在包装上。
<PackageReference Include="Microsoft.AspNetCore.App" />
在我准确指定版本后问题得到解决。
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.0" />
据我所知,该错误发生在版本号
另一种可能的解决方案。在 csproj
文件中,将目标框架更新为您要升级到的版本。进行更改后,根据以下代码段,可以通过解决方案 NuGet 包管理器升级包。
前:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
后:
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
我通过简单地解决了它:右键单击项目(或 ALT+ Enter)-> 属性-> 应用程序-> 目标框架(选择 .NET Core 框架(在本例中为 1.1))
最好的建议是在升级 SDK 和运行时后重新创建您的项目,然后将旧代码和配置放到新项目中。除此之外,您将花费太多时间进行无用的调整和未知的配置。
<RuntimeFrameworkVersion>1.1.0</RuntimeFrameworkVersion>
行。 VS 仍然不允许我手动更改版本,但至少它现在是正确的版本(它更新到 1.1.2,就像你说的那样)