【发布时间】:2020-11-03 02:12:14
【问题描述】:
我的项目使用了 Newtonsoft.Json 库的 modified version 并进行了一些更改,以便与 AOT 配合使用。修改后的 dll 已添加为项目的参考程序集。我的项目还使用了一组附加库(一些通过 Nuget,一些通过附加项目包含),其中一些库还对 Newtonsoft.Json 有自己的依赖关系。
- 最终版本中将包含哪个版本的 Newtonsoft.Json?
- 我可以映射所有版本以使用修改后的库吗?也许通过 BindingRedirect?
【问题讨论】:
-
可以分享项目文件的例子吗?
-
你的修改版本可以改成不同的名字吗?
-
@JoeSewell 当然,如果需要,我可以调整名称或版本。我只需要项目中的所有库也使用修改后的版本,否则它们将无法运行。
-
@PavelAnikhouski 我可以制作一个删除私人信息的 sn-p。您是否特别希望在项目中有所帮助?
-
@AndySavage 它甚至可以在没有
BindingRedirect的情况下工作。最终构建将包括您的项目在构建时引用的版本。如果您删除通过 nuget 引用添加到项目中的 Newtonsoft.Json 并直接添加修改后的 dll,它可能无需任何配置即可正常工作,但这取决于您引用的 dll 所需的版本。问题是当你下次更新你的 nuget 包时,他们会用他们自己的 Newtonsoft.Json 版本覆盖这个自定义引用,我不知道如何告诉他们不要这样做。
标签: c# .net dependencies assemblies