我最近更新了我的一个旧 c# UWP 项目,自从 12 月/1 月以来我就没有参与过这个项目。所以我决定打开它并通过 nuget
更新所有包。
我正在运行 VS2017 v15.3.1
和 nuget v4.3.0
。
所以我通过 nuget 更新了所有包,但是在更新包 Microsoft.EntityFrameworkCore.Tools
时遇到了问题:
Restoring packages for D:\Programming\C#\Projekts VS2017\myUWPproject\myUWPproject\myUWPproject.csproj... GET https://api.nuget.org/v3-flatcontainer/microsoft.identitymodel.clients.activedirectory/index.json OK https://api.nuget.org/v3-flatcontainer/microsoft.identitymodel.clients.activedirectory/index.json 462ms Microsoft.OneDriveSDK.Authentication 1.0.10 does not provide an inclusive lower bound for dependency Microsoft.IdentityModel.Clients.ActiveDirectory (> 2.22.0 && < 3.0.0). An approximate best match of Microsoft.IdentityModel.Clients.ActiveDirectory 2.22.302111727 was resolved. Package Microsoft.EntityFrameworkCore.Tools 2.0.0 is not compatible with uap10.0.14393 (UAP,Version=v10.0.14393). Package Microsoft.EntityFrameworkCore.Tools 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0) Package Microsoft.EntityFrameworkCore.Tools 2.0.0 is not compatible with uap10.0.14393 (UAP,Version=v10.0.14393) / win10-arm. Package Microsoft.EntityFrameworkCore.Tools 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0) Package Microsoft.EntityFrameworkCore.Tools 2.0.0 is not compatible with uap10.0.14393 (UAP,Version=v10.0.14393) / win10-arm-aot. Package Microsoft.EntityFrameworkCore.Tools 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0) Package Microsoft.EntityFrameworkCore.Tools 2.0.0 is not compatible with uap10.0.14393 (UAP,Version=v10.0.14393) / win10-x64. Package Microsoft.EntityFrameworkCore.Tools 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0) Package Microsoft.EntityFrameworkCore.Tools 2.0.0 is not compatible with uap10.0.14393 (UAP,Version=v10.0.14393) / win10-x64-aot. Package Microsoft.EntityFrameworkCore.Tools 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0) Package Microsoft.EntityFrameworkCore.Tools 2.0.0 is not compatible with uap10.0.14393 (UAP,Version=v10.0.14393) / win10-x86. Package Microsoft.EntityFrameworkCore.Tools 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0) Package Microsoft.EntityFrameworkCore.Tools 2.0.0 is not compatible with uap10.0.14393 (UAP,Version=v10.0.14393) / win10-x86-aot. Package Microsoft.EntityFrameworkCore.Tools 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0) Package restore failed. Rolling back package changes for 'myUWPproject'. Time Elapsed: 00:00:02.1287297 ========== Finished ==========
所以我将其从项目中删除,以防万一我也删除了文件夹 C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\Tools
,但没有成功。尝试重新安装时,我得到了以上输出。
一开始我觉得可能是因为
Microsoft.OneDriveSDK.Authentication 1.0.10 does not provide an inclusive lower bound for dependency Microsoft.IdentityModel.Clients.ActiveDirectory (> 2.22.0 && < 3.0.0). An approximate best match of Microsoft.IdentityModel.Clients.ActiveDirectory 2.22.302111727 was resolved.
删除后。它仍然给出相同的消息(没有 Microsoft.OneDriveSDK.Authentication
部分),所以我再次重新安装它。
我也尝试将最低版本和目标版本设置为创意者更新,希望能解决 uap10.0.14393
问题,但没有成功,所以我将最低版本设置回 14393(周年更新).
有人能帮我找到正确的方向吗?我不确定,我还能尝试什么。
如果有任何帮助,其余已安装的软件包是:
Microsoft.EntityFrameworkCore.Sqlite v2.0.0
Microsoft.NETCore.UniversalWindowsPlatform v5.4.0
Microsoft.OneDriveSDK v2.0.7
Microsoft.OneDriveSDK.Authentication v1.0.10
Win2D.uwp v1.21.0
最佳答案
So I updated all packages via nuget, but having trouble updating the package Microsoft.EntityFrameworkCore.Tools
有一个关键点需要注意。 Microsoft,软件包 Microsoft.EntityFrameworkCore.Tools
的作者 已于 2017 年 8 月 12 日发布新版本 2.0 (8/12/2017) (几天前),支持:.netstandard2.0。
但是,SDK 10.0.14393
和 10.0.15063
未更新为与包含 .netstandard2.0 的包兼容。所以如果你现在安装这个包,它支持:.netstandard2.0。到 UWP 项目,你会得到以下错误:
Package Microsoft.EntityFrameworkCore.Tools 2.0.0 is not compatible with uap10.0.14393 (UAP,Version=v10.0.14393). Package Microsoft.EntityFrameworkCore.Tools 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0) Package
要解决此问题,请使用 Microsoft.EntityFrameworkCore.Tools
包,版本为 1.1.1 而不是 2.0.0。
更新:有一个 release note for .netstandard 2.0 :“UWP 正在进行中,将于今年晚些时候发布。”
关于c# - EntityFrameworkCore.Tools 的 NuGet 包更新错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45786214/