- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个构建 nuget 包的 nuspec 文件。我想控制依赖项,我允许一系列版本,但总是安装特定版本。
基本上是这样的(语法无效): <dependency id="Microsoft.CrmSdk.CoreAssemblies" version="8.2.0.2" allowedVersions="6.0.0" />
我希望 nuget 依赖项接受 6 或更高(最多 9),但始终希望它默认安装 8.2.0.2。
如果我有 version="6.0.0",它会始终安装 6 版本吗?
有什么建议吗?
最佳答案
可以在带有 version-range syntax 的 nuspec 文件中指定可接受的版本范围. [6.0.0, 10.0.0)
指定接受主要版本在 6 和(包括)9 之间的每个版本。
我从你的问题中了解到,你想要指定一个可接受的版本范围,但你想要强制安装某个版本。我不知道如何实现这一点,但我也没有看到它的要求:通过指定一个可接受的版本范围,nuspec 文件指定该包与哪些版本的依赖包兼容。因此,所有接受的版本都应该有效。
在我看来,强制安装某个版本与此兼容性声明相矛盾。这听起来好像您想实现一个不同的目标:验证应用程序中是否安装了一致版本的 NuGet 包。然而,这应该在消费端解决,即安装 NuGet 包的解决方案。假设 nuspec 文件定义了一个包 A,它接受来自 Microsoft.CrmSdk.CoreAssemblies
的所有版本 [6.0.0, 10.0.0)
,但消费解决方案应始终使用版本 8.2.0.2
。那么这个版本 8.2.0.2
应该首先安装在那里,然后可以安装当前版本的包 A,发现它对 Microsoft.CrmSdk.CoreAssemblies
的依赖性已经解决。
为了实现一致的消费解决方案,我们在 CI 服务器上实现检查,以验证所有项目中的每个包都在一个版本中被引用。通过这种方式,我们可以获得一致的产品,同时保持实际 NuGet 包的灵 active ,以便与其他产品中不同版本的依赖包一起使用。
关于nuget - nuspec 依赖允许的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48579146/
我有一个像这样定义的 nuspec 文件: PSP.Build.Vcs.Svn 如您所见,id 是“PSP.Build.Vcs.Svn”,并且文件元素中
我正在尝试验证以下 xml,它位于 .nuspec 文件中: nuspec_test 1.2.3 Author Name test_xml_document
昨天发布了NuGet 3.3(release notes),并支持了一个新的contentFiles元素(docs)。但是,我似乎无法正常工作。 我正在使用NuGet.exe作为构建过程。已更新至v3
我有一个构建 nuget 包的 nuspec 文件。我想控制依赖项,我允许一系列版本,但总是安装特定版本。 基本上是这样的(语法无效): 我希望 nuget 依赖项接受 6 或更高(最多 9),但始
我正在使用代码契约(Contract)为我的项目生成附属程序集。基本上它为项目的 MyAssembly.dll 创建一个 MyAssembly.Contracts.dll。这应该放在你的程序集旁边,但
我有本地 NuGet 喂养。此提要包含一个依赖项,并且该依赖项位于 nuget.org。 这是在我的 nuspec 文件中: 如何指定 NuGet 必须在 nuget.org 中查找此依赖项
我使用的是 Visual Studio 2017,采用旧式 .csproj 文件格式。 我正在尝试构建一组 NuGet 包。 初始层(C NuGet 包)暴露了一些核心功能。中间层(B NuGet 包
我的公司已经为我们的业务专有的软件包建立了一个 nuget 存储库。我有一个包的 nuspec 文件,其中列出了位于主 nuget 存储库上的依赖项。当我从我们的存储库安装一个包时,没有安装依赖项。
简介 根据 this documentation可以指定依赖项,包括每个包的版本,如下所示: 问题 需要应用哪个 Nuspec 片段才能安装依赖项的最新版本? 最佳答案 不幸的是,您无法
我见过的示例使用相对于 nuspec 文件位置的路径指定要包含的文件,例如: 有没有办法以这样的方式指定它,它会根据我的构建配置使用适当的源目录:即: bin\Debug 如果我用 -Prop Co
我为互操作库创建了一个 nuget 包。使用此包时,Nuget 会自动将“Embed Interop Types”设置为“True”。 但是,在我的项目中,这应该是“假”。 Nuget 中有没有办法指
是否可以在同一项目的单个目录中包含多个 nuspec 文件,并且仍然能够合并项目和指定的 nuspec 文件。 我想知道这样的事情是否可能: nuget pack MyProject.csproj M
一些背景: 我有 4 个具有依赖项的 nuget 包。它们都处于预 Release模式,并按照自己的节奏从 alpha 发展到“稳定”。我希望能够在依赖项定义中指定应该包含预发布,但是当“稳定”版本可
所以我实际上是在尝试将一个网站项目(不是 Web 应用程序,所以没有 csproj 文件)打包成一个 NuGet 包,准备好让 Octopus 消费,但我却遇到了一个又一个的砖墙.. 我研究过使用 O
我已经能够使用 NuGetter创建构建定义以自动执行 NuGet 包创建过程并将包上传到 NuGet 存储库。 但是,我想进一步自动化该过程。以下是我希望在构建过程中自动化的步骤列表: 构建过程应该
我正在尝试使用 .nuspec elements 将一系列 Razor View 收集到 NuGet 包中.我的项目结构是非标准的,但是由于我不会进入的原因,我无法更改它。 这是我的项目结构: *
我有一个项目,由一个核心 nuget 包和几个附加扩展包组成。 核心包的 nuspec 如下所示: $id$ $version$ The Core Package
我正在尝试将一堆文件从特定文件夹复制到 nuget 包的根目录中。这是它在我的 nuspec 文件中的样子: 我希望将 dist/product1 下的文件复制到 nuget 包的根目录,但
我目前正在尝试为 this solution 中的所有项目发布大量 nuget 包。 .这些项目设置在一个简单的树中,Myre 是基础项目,一切都依赖于它: Myre 但出于某种原因,这只是
我正在构建一个 nuget 包,一切都很好,直到我尝试使用通配符将所有 dll 导入一个文件夹中。 这很好用 然而这并没有什么作用 任何帮助将不胜感激(我有意将 dll 放在内容而不是 lib 中
我是一名优秀的程序员,十分优秀!