问题标签 [paket]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
f# - 如果同一包的 Nuget 和 Paket 版本在我的解决方案中有不同的版本,会发生什么情况?
我Paket for Visual Studio
从安装
https://marketplace.visualstudio.com/items?itemName=SteffenForkmann.PaketforVisualStudio。
然后我创建了一个新项目(实际上是一个解决方案)并立即检查NuGet
是否System.ValueTuple
已在NuGet
. (我没有安装这个包)。软件包版本是,v4.4.0
但我可以看到该版本v4.5.0
已经可用。
经过一些篡改后,我到达了一个NuGet
仍然有版本v4.4.0
的情况,据说System.ValueTuple
while正在使用. 我如何做到这一点的细节很乏味,在这篇文章的底部。Paket
v4.5.0
我是否需要担心NuGet
并Paket
引用不同版本的System.ValueTuple
包?
我应该将该包更新NuGet
到版本v4.5.0
吗?
///////////////////////////////////////// ///////////////////////////////////////// //////////////////////////////////////
我如何在NuGet
和中获得两个不同版本的详细信息Paket
:
我做了Tools\Paket Dependencies Manager\Update All Packages
,希望更新包。然而,什么也没发生。v4.4.0
仍然是安装在NuGet
.
此时我的解决方案没有.paket
文件夹、paket.dependencies
文件或paket.lock
文件。
所以我去了Solution Explorer
并选择References\Add Package
并添加了Deedle
包。我还添加System.Data
了Deedle
.
我再次检查,版本System.ValueTuple
没有改变NuGet
。
我又做了一次,Tools\Paket Dependencies Manager\Update All Packages
但v4.4.0
仍然是安装在NuGet
.
所以我做了References\Add Package
并添加System.ValueTuple
到Paket
. 包裹出现在,paket.dependencies
但它仍然v4.4.0
在NuGet
。我用编辑器打开文件paket.lock
并搜索ValueTuple
. 我可以看到以下内容:System.ValueTuple (4.5)
在第 482 行,其他行没有其他实例。
f#-fake - Paket 依赖组不仅仅是解决版本冲突的一种方式吗?
当前运行时生成的paket.dependencies
示例文件dotnet new fake
如下所示:
我了解如何使用依赖组来解决版本冲突,但是在出现实际版本冲突情况之前似乎没有必要引入它们。
这里Build组的语义是什么,为什么不只在Main默认组下拥有三个依赖项?同样的反映适用于Paket 文档示例中的测试组。
在没有版本冲突的情况下,能否详细说明在组中隔离依赖项的原因?也许更多地解释构建和测试组背后的基本原理?
c# - 如何从命令行编译 NuGet 项目?
我想在不使用 Visual Studio 的情况下编译具有 NuGet 依赖项的 C# 项目(太重而无法再次下载)。我怎么能那样做?
例如,对于普通的 Rust 项目,我只需要运行cargo build
或cargo rustc
,所以我想知道如何使用基于 C#-NuGet 的解决方案(使用paket
)来做到这一点。
要添加更多上下文,paket
下载依赖项很好,但我还不知道如何构建我的项目。我已经安装了 Mono,所以我已经nuget
在这里可用了。
f# - 为什么 Accord.MachineLearning 在解决方案资源管理器参考列表中重复出现?
我正在开始一个新Console Application
F#
项目Visual Studio version 15.8.1
。使用paket
,我安装了这些软件包:
到目前为止,一切都很好。但是,当我安装Accord.MachineLearning.gpl
除了上述软件包之外,我Accord.MachineLearning
在列表中得到了一个重复的条目Solution Explorer
References
:
问题:
1)这是一个问题吗?
2)如何避免这种情况?
3)有没有办法消除重复?
c# - Visual Studio 总是使用 Paket 重建解决方案
我对在 Visual Studio 中为我的包使用 Paket 而不是 Nuget 非常感兴趣。
到目前为止,这也很好。但问题是,Visual Studio 总是认为每个项目的 app.config 已更改。但是在我的 Git 工具中查看我的更改没有任何变化。即使我在运行之前直接构建,例如我的单元测试。
你有什么建议吗?
我的 paket.dependencies 看起来像这样:
Visual Studio 所说的(如果使用对角模式构建):
项目“My.Project”不是最新的。输入文件 'C:\Projects\My.Project\src\My.Project.Interface\app.config' 在输出文件 '' 之后被修改。
dependencies - 为什么 Paket 尝试为 CliWrap 引入数百个依赖项?
我在 Ubuntu 上使用最新的 .NET Core SDK(dotnet-sdk-2.1
版本 2.1.403),我正在尝试在一个空项目上安装CliWrap 。
(实际上它甚至不是一个项目,它是一个包含使用F# 魔法.fsx
加载依赖项的文件的目录。)#r
这是Paket想要做的:
那是疯子!
使用 Nuget 手动安装它没有问题:
这是怎么回事?
.net - 开发时引用本地项目,部署时引用nuget项目
我正在为 F# 开发一个库。它包含 3 个项目,每个项目都以不同的包交付(一个是消费者的核心需求,其他是可选的)。它看起来像这样:
所以,Forest
是独立的,这很好。ConsoleWriter
两者FileWriter
都依赖于Forest
. 对于fsproj
作家,我有
这样我就可以在开发过程中参考最新Forest
的。但是,我认为我需要在创建新包时将依赖项添加到 nuget 上的包中ConsoleWriter
。有没有办法做到这一点paket
?
我不想总是依赖远程版本,因为如果我同时更新多个版本就会出现问题。
编辑:我刚刚在paket.template
文档上看到了这个
在项目文件中,将添加以下依赖项:
...
具有匹配文件的任何项目引用
paket.template
,该文件具有当前打包版本的最低版本要求。
(强调我的)。这是否意味着它已经完全符合我的要求?
编辑 2:刚刚进行了测试,paket generate-nuspec
它不包含依赖Forest
项。
f# - Paket + FAKE + CI 工具中的交换依赖项
我在搞乱一些 FAKE 和 Paket(在 F# 上)和 Jenkins,我不太确定我知道我在做什么,但我知道我想做什么。
简短的描述是我希望构建服务器针对引用的包构建整个系列的相关服务,但包有不同的风格(但共享相同的基本命名空间/模块名称)。
长描述;我有一系列位于外部 API 之上的服务。即它们都引用了一些外部包并通过模块等访问它。
例如
开发人员可能会针对最常见的风格进行开发,比如说 ExternalApiVanilla。开发人员将使用 Paket 和 Fake 作为构建工具,以及 Jenkins。
当代码被签入时,虽然我希望构建服务尝试构建它来对抗香草味……但也对抗巧克力、草莓和香蕉。
口味不是版本号意义上的“版本”,它们是不同的产品,具有自己的 nuget 包。所以我想(不知何故)我想用 api 包的名称参数化一个包含所有作业的 jenkins 文件夹,将其传递到构建脚本中,然后让构建脚本换出工程师引用的任何内容并引用参数.
当然有些编译会失败,我们必须开发不同的服务变体来处理 API 的一些变体,但是我们 90% 的东西适用于所有版本,我们只需要一种自动化的方式来检查构建然后创建新的变体服务和工作,来处理它们。
顺便说一句,我们正在用 C# 和 cake/nuget 做一些事情,但是通过传递 nuget 文件夹并强制构建找到 1 种风味的特定版本来控制版本控制......我理解这一点,虽然我不能写它,但我想更进一步,用不同的替换引用本身。
——————-
我将尝试查看构建脚本中的 paket.dependencies/paket 引用文件,删除现有引用,并从 shell 和 paket 添加 jenkins 定义的文件,然后 aee 会发生什么,不特别喜欢它,我依赖于格式这些文件,我希望这将是主流
c# - Paket Newtonsoft ASP.NET 4.5
这是 ASP.NET 4.5 控制台应用程序。
我得到的错误是:
CalculateArrivalDate.cs(14,11):错误 CS0246:找不到类型或命名空间名称“Newtonsoft”(您是否缺少 using 指令或程序集引用?) [c:\dev\deneme\QueryData\src\Notific ationPlatform.QueryData.Pnr\NotificationPlatform.QueryData.Pnr.csproj]
这是一个使用 JSON 的新类。
以下行来自paket.dependencies:
我尝试了这条线的多个版本。(没有版本号,有其他数字以及变体<
和>
符号)。他们都没有为我工作。
当我使用上述配置转到packages\Newtonsoft.Json\lib\net45文件夹时,我可以看到Newtonsoft.Json.dll的版本号为 6.0.4.17603
当我检查src\NotificationPlatform.QueryData.Pnr\NotificationPlatform.QueryData.Pnr.csproj文件时,我可以看到引用已正确添加:
我不确定我在这里缺少什么。
visual-studio - VS 2017 如何确定来自 Paket 的 .NET Standard 依赖项?
我有一个概念验证解决方案,其中包含一个 .NET Standard 项目。我使用Paket来管理我的 nuget 依赖项。根据这些说明,我可以使用paket add
and向该项目添加 nuget 依赖项。当我重新打开解决方案时,我看到一个文件已添加到该项目中,并且在“解决方案资源管理器”中项目的“依赖项”部分下添加了一个“NuGet”部分。dotnet restore
paket.references
我很好奇,VS2017 如何知道列出“NuGet”部分的依赖项?
根据我上面链接的说明:
与传统的 .NET 项目相比,Paket 不会将程序集引用添加到您的项目文件中。相反,它只会生成一行:
<Import Project="..\..\.paket\Paket.Restore.targets" />
这个钩子告诉 .NET SDK 通过 Paket 的恢复机制来恢复包。一个很好的好处是您的项目文件现在更干净并且不包含许多程序集引用。
我确定我遗漏了一些东西,但我看不到任何东西Paket.Restore.targets
可以告诉 Visual Studio 在哪里查找我添加到项目中的 nuget 包的依赖项链。没有直接引用项目文件中提到的任何依赖项。
对于上下文,我有一个 repo,我试图将 .NET Standard 项目添加到一个充满 .NET Framework 项目的解决方案中。我遇到了一个问题,paket add
似乎paket.references
为新项目正确创建了一个文件,但dotnet restore
似乎没有导致项目引用更新,导致我的项目没有引用我正在尝试的 nuget 依赖项有它参考。我在创建可重现的示例时遇到了麻烦(我的概念验证似乎运行良好),因此我试图更好地了解此基础架构如何帮助调试。