显式绑定重定向与自动生成的绑定重定向冲突

Posted

技术标签:

【中文标题】显式绑定重定向与自动生成的绑定重定向冲突【英文标题】:The explicit binding redirect conflicts with an autogenerated binding redirect 【发布时间】:2019-02-11 03:56:08 【问题描述】:

我在构建解决方案时收到以下警告:

“Microsoft.Azure.Documents.Client, Culture=neutral, PublicKeyToken=31bf3856ad364e35”上的。考虑将其从应用程序配置文件中删除或禁用自动生成的绑定重定向。该版本会将其替换为:“"

但是,我在项目中的 app.config 文件只有以下,没有任何显式的程序集绑定重定向:

<configuration></configuration>

如果我没有任何显式绑定重定向,为什么会出现冲突?作为记录,我的 csproj 文件没有提及 AutoGenerateBindingRedirects。

【问题讨论】:

您的解决方案中有多少个项目?关于 app.config,您需要检查 .exe 项目而不是 .dll 项目。 总共大约 75 个项目。检查 .exe 项目而不是 .dll 项目是什么意思?我在源文件夹中查看 app.config,而不是在构建输出文件夹中。 警告列出了哪个项目:[C:\MyEnlistment\Source\MyProject\MyProject.csproj]。这就是为什么我要检查这个 MyProject 文件夹并查看它的 app.config,它不包含任何显式绑定重定向。 感谢您的澄清。 【参考方案1】:

由于某种原因,VS head 有点乱(VS 2019 Preview 2)

要彻底清除此错误,我必须执行以下操作:

删除所有对上述 dll 的引用 删除 packages bin 或 packages 文件夹中的所有 dll 实例 重建项目/解决方案 通过 nuget 重新安装

似乎 VS 将 DLL 缓存在内存中并继续引用它,或者有一些其他隐藏设置导致了这种行为。在此之前(不成功)我试过:

在所有项目中多次通过 Nuget 卸载/重新安装包 清除了显式绑定重定向的 app.config 重启VS。

【讨论】:

前两点中的“引用”和“实例”是什么意思? @demonicdaron 我的意思是删除在编译器可以找到的任何文件夹中找到的所有 dll。在此期间可能已修复。由于其他 .netcore 不兼容,我回到了 2017 年的 atm。【参考方案2】:

我有一个类似的问题,为我修复它的顺序是:

    从 App.config 中删除有问题的依赖项 取消选中从项目属性自动生成绑定重定向 卸载并重新安装需要依赖项的 nuget 包 就我而言,它提示我现在重新检查项目属性中的自动生成绑定重定向。

【讨论】:

我在项目和包版本之间遇到了奇怪的固定问题。事实证明,这种自动生成是我问题的根源。【参考方案3】:

您应该在 1.22.0.0 上的 app.config 中更改程序集版本 Microsoft.Azure.Documents.Client

【讨论】:

更多的是评论而不是答案【参考方案4】:

对我来说,按照以下步骤解决了这个问题:

从 App.Config 中移除特定冲突 重建解决方案。

在 VS 中的项目或解决方案中不会再弹出此警告。

【讨论】:

以上是关于显式绑定重定向与自动生成的绑定重定向冲突的主要内容,如果未能解决你的问题,请参考以下文章

使用 Java 创建“HTTP 重定向绑定”SAML 请求

如何验证 HTTP 重定向绑定的 SAML 签名

Django 使用绑定表单重定向到另一个视图

如何使用 C# 正确准备“HTTP 重定向绑定”SAML 请求

依赖程序集绑定重定向

xml 在gac级别重定向程序集绑定