如何使用nugets避免MissingMethodException?

我正在使用我的所有C#项目创建nuget,因此替换了对csproj文件的所有直接引用。所有的nuget引用都是“最低版本,包括最低版本”,因此,在更新库时,所有其他项目将自动恢复该nuget的最新版本。我遇到的问题是我不知道如何确保nuget的更改不会使其他项目中的编译失败。到目前为止,我以前一直在单个解决方案中构建所有项目,因此,如果编译失败,我马上就会知道。既然我正在使用nuget,我最终会引入新的错误,因为我无法确保代码仍然可以编译,或者更糟糕的是,如果代码将完全运行,则可能会导致崩溃。

这是一个例子:

  • 应用程序“ App”是指nuget库“ LibA”
  • 项目“ LibA”是指“ get LibB”
  • 一个修补程序发布在项目“ LibB”中,因此新的nuget也发布了。
  • 此修补程序使得无法构建“ LibA”,因为偶然地删除了一种方法。但是没有人尝试构建“ LibA”,因此没人注意到它。
  • 有人构建了“ App”,并且编译工作正常,因为“ App”没有直接引用“ LibB”中缺少的方法。因此,只有在“ LibA”试图调用缺少的方法时,该问题才会在运行时发生。

我知道我可以使用更严格的版本控制来完成此操作,以便在更改nuget时,我需要更改所有引用,因此所有其他项目都需要使用新版本才能使用此新版本的图书馆。但这似乎并不方便,因为这意味着我需要系统地修改数百个项目以将错误修复推送到一个库中。

gavin_array 回答:如何使用nugets避免MissingMethodException?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3063053.html

大家都在问