首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在web.config>configuration>runtime>assemblyBinding?中生成条目的意义/原因是什么?

在web.config>configuration>runtime>assemblyBinding?中生成条目的意义/原因是什么?
EN

Stack Overflow用户
提问于 2013-02-24 20:50:12
回答 1查看 26.4K关注 0票数 60

我已经注意到web.config文件中的这个部分已经有一段时间了,我现在正试图推断出确切的目的是什么:

代码语言:javascript
复制
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

因此,第一项似乎是:

System.Web.Helpers是具有31bf3856ad364e35公钥令牌的依赖程序集的名称。将1.0.0.0至2.0.0.0重定向到2.0.0.0版本。

我的最佳猜测是,它意味着在ASP.NET运行时上下文中执行的任何代码,这些代码依赖于具有指定名称的程序集,该程序集在指定范围内的版本也会执行,就好像它是用指定的公钥使用指定版本编译的一样。

这是否意味着,如果我有一个依赖于类库的web项目,而且类库引用了具有bindingRedirect的程序集的旧版本,那么代码就会执行,就好像它是针对新版本编译的一样吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-24 21:13:56

这是否意味着,如果我有一个依赖于类库的web项目,而且类库引用了具有bindingRedirect的程序集的旧版本,那么代码就会执行,就好像它是针对新版本编译的一样吗?

您说得对(我只想说"...the代码将像引用更新的版本一样执行“),请参阅http://msdn.microsoft.com/en-us/library/7wd6ex19%28v=vs.110%29.aspx

“当您针对强名称程序集的特定版本构建.NET框架应用程序时,应用程序在运行时使用该版本的程序集。但是,有时您可能希望应用程序针对较新版本的程序集运行。”

票数 40
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15056499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档