9

我刚刚将 autofac 安装到我的一个项目中,称为项目 A,在我使用 nuget 的解决方案中。出于某种原因,我的所有 web.config 文件,我在解决方案中有多个 Web 应用程序和 api,并使用这样的程序集重定向进行了更新:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

这意味着程序集重定向是什么意思?解决方案如何知道所有这些 web.config 文件都需要更新?是因为我的 Web 应用程序引用了项目 A 吗?

4

2 回答 2

12

这与 Autofac 无关,因为它是 nuget 功能:

nuget-1.2 发行说明:

自动添加绑定重定向

在安装具有强命名程序集的包时,NuGet 现在可以检测项目需要将绑定重定向添加到配置文件以使项目自动编译和添加它们的情况。

您可以在发行说明中也提到的文章中阅读更多关于为什么需要程序集重新定义的信息:NuGet 版本控制第 3 部分:通过绑定重定向进行统一

一般来说,您可以从 MSDN 开始了解程序集重新编辑:重定向程序集版本

于 2013-06-18T09:14:06.953 回答
1

您可以通过签入 VS 来避免这种情况:

工具 -> 选项 -> Nuget 包管理器 ->跳过应用绑定重定向

于 2016-09-20T09:23:53.137 回答