首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动化.net框架包安装:解决包对其他包的依赖

自动化.net框架包安装:解决包对其他包的依赖
EN

Stack Overflow用户
提问于 2019-11-28 14:46:52
回答 1查看 203关注 0票数 0

长话短说:我试图通过VS2019包管理器控制台自动化解决方案中的包.net框架nuget更新,并且无法获得其他包上的包依赖项(尽管我知道数据是可用的,因为您可以在UI中看到它)。

长故事:我正在尝试自动化nuget安装.net框架,我选择在visual中使用包管理器控制台(如果有我想知道的首选选项)。我试图解决的问题是:问题输入:Package A:version 1,它依赖于包B版本> 1。版本2依赖于包B版本>2。包B:version 1。包C:version 1依赖于包B版本> 1。

问题,我正在试图解决:我有这3个包引用同一个项目。我想将软件包A升级到版本2。它的依赖性是包B版本> 2。运行软件包A更新到版本2 (通过包管理器UI或控制台)将包B更新到版本2。Boom! - package C只在运行时才会检测到它缺少B版本1所需的方法!

我正在尝试做的事情,-编写安装过程脚本,提示用户获取这些类型的依赖项。

My problem --为此,我希望获得包依赖项,但我无法找到使用包管理器控制台进行此操作的方法。

(感谢你的帮助:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-29 09:36:12

为此,我希望获得一个包依赖项,但我无法找到使用包管理器控制台来实现它的方法。

我们不能使用nuget管理控制台来获取UI查看nuget包依赖项之外的包dependencies.In,我们可以从nuget项目A中的csproj文件中获取依赖项。这是A.csproj文件中的相关内容:

代码语言:javascript
复制
<ItemGroup>
        <PackageReference Include="Antlr">
          <Version>3.5.0.2</Version>
        </PackageReference>
        <PackageReference Include="Microsoft.Extensions.Logging">
          <Version>3.0.0</Version>
        </PackageReference>
</ItemGroup>

另一个原因是,您可以通过命令 nuget spec创建的包依赖关系来查看包依赖关系,该文件由命令nuget spec创建(如果使用nuspec文件强制执行依赖项,则为),这是打包项目之前使用的文档。

编写安装过程脚本,提示用户输入这些类型的依赖项。

注意:鉴于您的情况,不能在同一个项目中使用nuget包的两个版本,这将导致版本冲突。

建议

  1. --我不知道为什么在升级B时删除C所需的方法。基本上,当我们升级和修改包时,我们将在不删除原始数据和方法的情况下对它进行新的特性,以防止对项目中其他依赖的包的引用使用相应的方法。为了在包B版本two.
  2. If中恢复C包所需的方法,您对包B version2做了重大更改,而且恢复方法的步骤有点复杂,我建议您可以为C包专门制作包B的副本。package.

只需重命名包B版本1并由包C引用,以区别于B版本的第二个版本

希望它能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59091396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档