zoukankan      html  css  js  c++  java
  • Nuget管理

            目前维护的项目是我从入职到现在一直维护与开发的一个超大型业务系统;解决方案中有数十个项目在其中,因为各子项目的维护人员不同,导致相同的Nuget包存在两个,甚至四个不同版本的存在。包版本的不同经常导致各种编译或者发布失败的问题;拖延开发和QA 的工作效率,我们小组职责就是为了提高工作人员的效率;今天领导找我,要我把解决方案中,所有的Nuget 包版本都唯一化。

          我使用Visual Studio 2019 来解决此问题。使用 Visual Studio 2019 打开 解决方案,点击工具 > Nuget 包管理器 > 管理解决方案的Nuget 程序包 > 合并。

            合并中展示的程序包,就是存在不同版本的程序包,需要我们处理的;选择需要合并的程序包 > 选择版本 > 安装。
            这真的是今天要讲的重点吗?不。我想阐述的是我在合并过程中包与包之间兼容的问题。问题是:在本地合并完包后,编译成功,本地运行成功;但是签入到测试环境的时候,发生了一个问题,那就是发布后的dll 不是我升级的版本,而是旧的。重点来了,我想讲解的是我今天是如何处理这个问题的。

      1. 我先排查是不是我版本是否成功

      2. 检查代码是否签入

      3. 检查服务器发布代码

      4. 清理bin 目录

           经过上面几个步骤还是没有解决问题;于是请教同事,他要我删了sln 文件中的引用,要编译自动引入packages中的包,结果编译失败;然后要我卸载要升级的程序包,重新安装,结果遇到了惊喜,卸载失败,说有其他包依赖,后来通过Nuget 发现,依赖包需要的版本正是升级前;好了,罪魁祸首找到了,就是这个包导致我发布dll 版本没有变。然后我升级了这个包,问题解决。

  • 相关阅读:
    Maven--反应堆(Reactor)
    Maven--超级 POM
    Maven--插件管理
    解决非模态对话框第二次创建失败问题
    【转】VerQueryValue失败的解决办法
    【转】SYSTEM_HANDLE_INFORMATION
    安全版字符串操作函数
    int转string的3种方法
    PE格式详细讲解3
    PE格式详细讲解2
  • 原文地址:https://www.cnblogs.com/zhihang/p/11344395.html
Copyright © 2011-2022 走看看