2010-12-21 9 views
5

En mi trabajo hay un ensamblaje de núcleo en el GAC al que hacen referencia muchas aplicaciones. No quiero cambiar las configuraciones web de todos mis sitios de producción cada vez que se publica una nueva versión principal. ¿Hay alguna forma de especificar un rango o un comodín para las versiones de ensamblaje?Al agregar un ensamblado en Web.config, ¿puedo especificar una versión o un rango?

Algo así como:

<compilation debug="false"> 
    <assemblies> 
     <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="MyCore,Version=*, Culture=neutral, PublicKeyToken=55b47eca7ec17c50"/> <!-- Does not work --> 
    <add assembly="*"/> 
    </assemblies> 
</compilation> 

Respuesta

6

No hay ningún método en .NET para especificar directamente una serie de versiones, pero el componente de "versión" del nombre de ensamblado es opcional. Debería poder eliminarlo para buscar todas las versiones del ensamblaje.

add Element for assemblies for compilation (ASP.NET Settings Schema)

Lo que he hecho en el pasado es utilizar el nombre corto de la asamblea, en otras palabras:

<add assembly="MyCore" /> 

Dicho esto, a veces manteniendo el nombre de ensamblado (con la versión) es útil ya que evita que el código antiguo se ejecute si el sitio se implementa incorrectamente. MSBuild se puede utilizar para reescribir los archivos web.config dentro de un laboratorio de construcción estructurado, pero requiere un poco de configuración manual.

Cuestiones relacionadas