在某处有OData依赖图吗?

时间:2016-12-07 17:03:22

标签: visual-studio nuget odata

我跟随this guide将我开发的应用迁移到开放式框架。我到了我应该安装所有OData引用的部分。特别是这些:

Install-Package Angularjs 
Install-Package Microsoft.OData.Client 
Install-Package Microsoft.OData.Core 
Install-Package Microsoft.OData.Edm 
Install-Package Microsoft.Spatial 
Install-Package Microsoft.AspNet.OData 
Install-Package Microsoft.AspNet.WebApi.WebHost

这些是我得到的错误:

Unable to resolve dependencies. 'Microsoft.OData.Core 7.0.0' is not compatible with 'Microsoft.OData.Client 6.15.0 constraint: Microsoft.OData.Core (= 6.15.0)'.
Unable to find a version of 'Microsoft.OData.Core' that is compatible with 'Microsoft.OData.Client 6.15.0 constraint: Microsoft.OData.Core (= 6.15.0)'.
Unable to find a version of 'Microsoft.OData.Core' that is compatible with 'Microsoft.OData.Client 6.15.0 constraint: Microsoft.OData.Core (= 6.15.0)'.
Unable to find a version of 'Microsoft.OData.Edm' that is compatible with 'Microsoft.OData.Core 6.15.0 constraint: Microsoft.OData.Edm (= 6.15.0)'.

我一遍又一遍地开始运行我的应用,直到它抛出异常,然后向bingindRedirect添加Web.config以定位当前安装的版本。但这看起来并不正确,以后会增加很多维护。我知道如何安装旧版本和夜间版本。但我不知道要安装哪个版本。是否有一些地方告诉我哪些版本正确地协同工作?

根据NuGet的说法,每个版本都安装了6.15.0版本。那么为什么我会收到错误?

Edm

Core

Client

2 个答案:

答案 0 :(得分:1)

您可以从Project中的NuGet Package Manager页面获取依赖关系 - >管理NuGet包。当您选择其中一个包时,它将在右侧显示其依赖项。您可以选择软件包版本以检查应为当前版本的软件包安装哪个版本的依赖项。

enter image description here

OData包的关系应该是OData.Client 6.15依赖于OData.Core 6.15和OData.Core 6.15依赖于OData.Edm 6.15。

但在您的项目中,您安装了OData.Core 7.0和OData.Edm 7.0,它们与OData.Core 6.15不兼容。

请安装正确版本的OData.Core 6.15和OData.Edm 6.15。

答案 1 :(得分:1)

运行" Install-Package Microsoft.OData.Client"后,已经安装了Microsoft.OData.Core,Microsoft.OData.Edm和Microsoft.Spatial。命令,因为它们都是依赖项。您可以从项目参考中查看它。所以你不再需要这些命令了:

Install-Package Microsoft.OData.Core 
Install-Package Microsoft.OData.Edm 
Install-Package Microsoft.Spatial 

由于最新版本的Microsoft.OData.Client是6.15.0,因此版本6.15.0需要Microsoft.OData.Core。所有这些软件包都安装了6.15.0版本。

如果您运行以下命令:

Install-Package Microsoft.OData.Core -Version 6.15.0
Install-Package Microsoft.OData.Edm -Version 6.15.0
Install-Package Microsoft.Spatial -Version 6.15.0

您将收到如下消息:

  

Package' Microsoft.OData.Core.6.15.0'已存在于项目中

另一个问题是Microsoft.AspNet.OData的最新6.0.0版本需要Microsoft.OData.Core版本> = 7.0.0,而您已安装的版本是6.15.0。所以你需要安装需要Microsoft.OData.Core>的5.9.1版本。 6.14.0。

Install-Package Microsoft.AspNet.OData -Version 5.9.1