gpt4 book ai didi

.net - 如何管理 C#/.NET 项目中的版本依赖项?

转载 作者:行者123 更新时间:2023-12-04 08:28:34 24 4
gpt4 key购买 nike

假设您有项目 A,它有各种 dll 依赖项,但树看起来像这样:

Project A 
=> Project B
=> Project C
=> Project D
=> Project C
=> Project E
=> Project C, v2

有没有办法使用 Project E,因为它依赖于较新版本的 Project C(dll),即使项目的其余部分使用的是同一库的旧版本?

如果没有一种方法,或者一种会导致咬牙切齿的方法,是否有前瞻性的解决方案来防止这种情况发生在 future 的项目中?

最佳答案

从长期解决方案来看,不确定这是否适用于您的环境,但我们有多个相关项目(从框架到相关系统)可供引用。我们使用 subversion 并使用 externals 来引用 libary/source 文件夹,以便所有依赖项目都引用相同的版本。

我们也有一些项目,我们引入了依赖库,这些库在编译时可能使用了旧版本,而不是主引用应用程序包含的更新且向后兼容的共享库,在这种情况下,我们使用 multiple version solution使用配置条目。

实际上,我们的构建过程标记类似于(其中 _BUILD_VERSION_ 被具有当前构建号的构建过程替换):

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Company.DependentAssembly" publicKeyToken="8510b56c219df72e"/>
<bindingRedirect oldVersion="1.0.0.0-99.0.0.0" newVersion="_BUILD_VERSION_"/>
</dependentAssembly>

同一篇文章还提供了一种在项目中引用相同程序集的多个版本副本的方法。

关于.net - 如何管理 C#/.NET 项目中的版本依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8188191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com