Nuget包装上的System.IdentityModel.Tokens.Jwt版本不匹配

时间:2017-08-31 16:43:06

标签: asp.net-mvc nuget teamcity jwt octopus-deploy

  

无法加载文件或程序集'System.IdentityModel.Tokens.Jwt,   Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或   其中一个依赖项。定位程序集的清单定义   与装配参考不匹配。 (HRESULT的例外情况:   0x80131040)

我已经以某种方式回到DLL地狱。

我想通过我们的CI部署一个asp.net MVC应用程序:

  1. TeamCity(2017.1.3)与Octopusplugin(TeamCity Plugin
  2. 八达通部署到azure网站应用程序
  3. 我已经为其他网络应用启用了相同的管道,但是这个使用System.IdentityModel.Tokens.Jwt版本4.0.4.403061554的MVC应用。

    我在本地运行应用程序,并且按预期方式引用的FileAssembly版本为4.0.4.403061554。但是,当team city构建nuget包时,我下载并解压缩它,System.IdentityModel.Tokens.Jwt文件程序集版本设置为5.1.4.216,这不是我所期望的。

    我已经浏览了所有的软件包耗尽,没有人引用这个版本的dll。

    我搜索了所有文件以查找5.1.4的任何参考资料,没有任何内容。

    在TeamCity中刷新软件包时,我还检查了Disable looking up packages from local machine cache的功能。

1 个答案:

答案 0 :(得分:0)

这里没有一个直接的答案,但有几个想法可能有助于朝着正确的方向发展。

也许在任何其他项目或nuget包中对此包有较低级别的依赖,它们一起构建,因此最新版本进入构建目录?刚才注意到5.1.4是System.IdentityModel.Tokens.Jwt的最新版本。

我认为您将BindingRedirect用于版本4.是否有制动更改?你能不能切换到使用最新版本?

您是否查看过build server的构建文件夹?也许您可以使用5.1.4版缩小项目/文件夹?