F# 如果同一软件包的Nuget和Paket版本在我的解决方案中有不同的版本,会发生什么情况?
我从安装了Visual Studio的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
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,如果它在项目文件中有一行这样说的话