两个包版本对应两个依赖项

本文关键字:两个 依赖 包版本 版本 | 更新日期: 2023-09-27 18:09:36

在我的项目中,我有两个依赖关系,引用了同一个程序集的两个不同版本(structuremap v2.6.4 vs v3.1.4.1),有任何方法可以正确地解决这个问题?

两个包版本对应两个依赖项

解决这个问题的一种方法是使用NuGet Package Costura.Fody -它基本上捆绑了所有不同版本的.dll供您在项目中使用。

第一步是安装包

安装完包后,您将在解决方案资源管理器中看到一个' fodyweaver .xml '。这可以编辑包括或排除某些。dll的,但每次我曾经使用过它,我只是保持默认值,最终是…

<?xml version="1.0" encoding="utf-8"?>
<Weavers>
<Costura/>  
</Weavers>

这使你能够做的是把一个。dll的Libraries文件夹在你的解决方案(或其他地方),和Costura。Fody将把解决方案中的所有.dll打包成一个大的dll(在创建XML的项目中)。

这样做,你应该能够引用两个版本-因为我最近不得不为一个项目使用两个不同版本的。dll。

为了验证它是否正常工作,你可以在添加NuGet包之前查看项目的。dll的大小,然后在添加所有其他捆绑的。dll之后,它应该已经增长了大小。

我希望这对你有帮助!如果你有任何问题,请告诉我!