F# 如果同一软件包的Nuget和Paket版本在我的解决方案中有不同的版本,会发生什么情况?

F# 如果同一软件包的Nuget和Paket版本在我的解决方案中有不同的版本,会发生什么情况?,f#,nuget,paket,F#,Nuget,Paket,我从安装了Visual Studio的Paket 然后我创建了一个新项目(实际上是一个解决方案),并立即检查名为System.ValueTuple的NuGet包是否已经安装在NuGet下。(我没有安装这个软件包)。软件包版本是v4.4.0,但我可以看到v4.5.0版本已经可用 经过一点篡改后,我发现NuGet仍然有System.ValueTuple的版本v4.4.0,而Paket应该使用v4.5.0。关于我是如何做到这一点的细节是乏味的,并在这篇文章的底部 我是否需要担心NuGet和Paket

我从安装了Visual Studio的
Paket

然后我创建了一个新项目(实际上是一个解决方案),并立即检查名为
System.ValueTuple
NuGet
包是否已经安装在
NuGet
下。(我没有安装这个软件包)。软件包版本是
v4.4.0
,但我可以看到
v4.5.0
版本已经可用

经过一点篡改后,我发现
NuGet
仍然有
System.ValueTuple的版本
v4.4.0
,而
Paket
应该使用
v4.5.0
。关于我是如何做到这一点的细节是乏味的,并在这篇文章的底部

我是否需要担心
NuGet
Paket
引用的是不同版本的
System.ValueTuple

我是否应该将
NuGet
中的包更新为版本
v4.5.0

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

关于如何在
NuGet
Paket
中获得两个不同版本的详细信息:

我确实更新了所有包,希望更新包。然而,什么也没有发生
v4.4.0
仍然是安装在
NuGet
中的版本

此时,我的解决方案没有
.paket
文件夹、
paket.dependencies
文件或
paket.lock
文件

因此,我转到
解决方案资源管理器
,选择
References\Add Package
并添加了
Deedle
包。我还添加了
Deedle
所需的
System.Data

我再次检查,
System.ValueTuple
的版本在
NuGet
中没有更改

我再一次更新了所有软件包,但是
v4.4.0
仍然是安装在
NuGet
中的版本


所以我做了
References\addpackage
并将
System.ValueTuple
添加到
Paket
。该包出现在
paket.dependencies
中,但在
NuGet
中仍然有
v4.4.0
。我用编辑器打开文件
paket.lock
,搜索
ValueTuple
。我可以在第482行看到:
System.ValueTuple(4.5)
,在其他行中没有其他实例

我不认为你应该在同一个解决方案中混合使用Paket和Nuget,尽管我偶尔会临时这样做只是为了解决这个问题。我注意到,通过NuGet更新System.ValueTuple并不总是有效的,所以我要做的是在项目文件中手动插入对它的引用,并带有更新的版本号。只需复制引用FSharp.Core的行,然后修改名称。将两者都设置为4.5.0。另一种可能是将项目转换为使用Paket,然后使用Paket添加System.ValueTuple。@BentTranberg-我创建了一个新的解决方案,并将System.ValueTuple更新为v4.5.0。它仍然显示为一个NuGet安装包。然后我将paket.bootstrapper.exe复制到根目录并运行它。已创建一个paket.exe文件。在命令提示下,我输入了paket.exe convert from nuget。然后我再次查看,没有安装NuGet软件包。1) Paket是否卸载了System.ValueTuple(作为Nuget包)?(它仍然显示在System.Explorer中)。2) 这就是您将项目转换为使用Paket的意思吗?3) 我已经停止在同一个解决方案中混合使用Paket和Nuget了吗?我知道的太少了,无法判断您所做的是否有问题,但我所做的是在项目文件的PackageReference条目中将FSharp.Core和System.ValueTuple的版本号更新为4.5.0,无论哪种方式都可以-在工作时使用Nuget update,如果没有,也可以手动。在这两种情况下,仅修改了项目文件。稍后在介绍Paket时,这两个条目仍然保留在项目文件中,因此我假设它们没有问题。我认为你的项目使用Paket,如果它在项目文件中有一行这样说的话