无法加载文件或程序集'System.IdentityModel.Tokens.Jwt, Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或 其中一个依赖项。定位程序集的清单定义 与装配参考不匹配。 (HRESULT的例外情况: 0x80131040)
我已经以某种方式回到DLL地狱。
我想通过我们的CI部署一个asp.net MVC应用程序:
2017.1.3
)与Octopusplugin(TeamCity Plugin)我已经为其他网络应用启用了相同的管道,但是这个使用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
的功能。
答案 0 :(得分:0)
这里没有一个直接的答案,但有几个想法可能有助于朝着正确的方向发展。
也许在任何其他项目或nuget包中对此包有较低级别的依赖,它们一起构建,因此最新版本进入构建目录?刚才注意到5.1.4是System.IdentityModel.Tokens.Jwt
的最新版本。
我认为您将BindingRedirect
用于版本4.是否有制动更改?你能不能切换到使用最新版本?
您是否查看过build server的构建文件夹?也许您可以使用5.1.4版缩小项目/文件夹?