长话短说:我试图通过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 --为此,我希望获得包依赖项,但我无法找到使用包管理器控制台进行此操作的方法。
(感谢你的帮助:)
发布于 2019-11-29 09:36:12
为此,我希望获得一个包依赖项,但我无法找到使用包管理器控制台来实现它的方法。
我们不能使用nuget管理控制台来获取UI查看nuget包依赖项之外的包dependencies.In,我们可以从nuget项目A中的csproj文件中获取依赖项。这是A.csproj文件中的相关内容:
<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包的两个版本,这将导致版本冲突。
建议
只需重命名包B版本1并由包C引用,以区别于B版本的第二个版本
希望它能帮到你。
https://stackoverflow.com/questions/59091396
复制相似问题