2010-12-21 2 views
5

Bei meiner Arbeit gibt es eine Kernbaugruppe im GAC, auf die sich viele Anwendungen beziehen. Ich möchte nicht jedes Mal, wenn eine neue Kernversion veröffentlicht wird, die Webkonfigurationen aller meiner Produktionsstandorte ändern. Gibt es eine Möglichkeit, einen Bereich oder einen Platzhalter für Assembly-Versionen anzugeben?Kann ich beim Hinzufügen einer Assembly in der Datei "Web.config" eine beliebige Version oder einen Bereich angeben?

Etwas wie:

<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> 

Antwort

6

Es gibt keine Methode in .NET direkt eine Reihe von Versionen angeben, aber die „Version“ -Komponente des Assemblierung-Name ist optional. Sie sollten es entfernen können, um nach allen Versionen der Assembly zu suchen.

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

Was ich in der Vergangenheit getan haben, ist die Kurzbezeichnung der Baugruppe, mit anderen Worten verwenden:

<add assembly="MyCore" /> 

Das heißt, manchmal den Namen der Assembly zu halten (mit Version) ist nützlich, da es verhindert, dass alter Code ausgeführt wird, wenn die Site falsch bereitgestellt wird. MSBuild kann verwendet werden, um die web.config-Dateien innerhalb eines strukturierten Build-Labs neu zu schreiben, aber es erfordert ein bisschen manuelle Konfiguration.

Verwandte Themen