nuget软件包的不同版本在部署时会中断,但在本地运行良好

时间:2018-06-25 02:01:43

标签: c# nuget

我现在还没有找到任何问题,但这可能只是我和我的la脚搜索技能,但基本上我有2种不同的解决方案共享一些项目。

解决方案1中的项目,我刚刚将ElasticSearch的NEST版本升级到6.1;

<Reference Include="Nest, Version=6.0.0.0, Culture=neutral, PublicKeyToken=96c599bbe3e70f5d, processorArchitecture=MSIL">
  <HintPath>..\packages\NEST.6.1.0\lib\net46\Nest.dll</HintPath>
</Reference>

我的第二个解决方案中也使用了其中一个项目,但是该解决方案中的其他项目仍在v5.5上,因为我还没有接触过它们;

<Reference Include="Nest, Version=5.0.0.0, Culture=neutral, PublicKeyToken=96c599bbe3e70f5d, processorArchitecture=MSIL">
  <HintPath>..\packages\NEST.5.5.0\lib\net46\Nest.dll</HintPath>
  <Private>True</Private>
</Reference>

在构建,测试或部署(使用TeamCity)时,完全不会出现任何错误,这看上去一切都很好,但是一旦部署,我们将尝试使用引用5.5的项目,该项目引用使用6.1的另一个项目,我们可以理解会收到此错误;

  

无法加载文件或程序集“嵌套”,版本= 5.0.0.0,   Culture = neutral,PublicKeyToken ='或其中之一   依赖性。找到的程序集的清单定义不   匹配程序集参考。 (来自HRESULT的异常:0x80131040)

现在,我敢肯定,我只需要将所有项目更新为相同的版本即可解决此问题,但是我正在寻找将来如何避免此类问题的方法。

在进入此过程的已部署部分之前,如何防止此类问题发生?为什么在早期版本的构建/测试中未检测到此问题,因为它涵盖了部署后会失败的相同功能?!

0 个答案:

没有答案