为什么在安装autofac时我的所有web.configs都使用程序集重定向进行更新?

时间:2013-06-18 08:52:41

标签: nuget autofac

我刚刚将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?

2 个答案:

答案 0 :(得分:12)

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

来自nuget-1.2 release notes:

  

自动添加绑定重定向

     

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

您可以在发行说明中提到的文章中详细了解为什么需要汇编重新定位:NuGet versioning Part 3: unification via binding redirects

了解一般的程序集重新定位,您可以从MSDN开始:Redirecting Assembly Versions

答案 1 :(得分:1)

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

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