Freigeben über


Ausrichten auf eine bestimmte .NET Framework-Version

Mit einer Anwendungskonfigurationsdatei können Sie angeben, welche Versionen von .NET Framework von einer Anwendung oder Komponente unterstützt werden. Sie müssen die Versionsnummer und die Buildnummer der einzelnen unterstützten .NET Framework-Versionen angeben, wenn Sie das <supportedRuntime>-Element und das <requiredRuntime>-Element in einer Anwendungskonfiguration verwenden.

Die Konfigurationsregeln zum Angeben der von einer Anwendung zu verwendenden Version von .NET Framework sind für .NET Framework, Version 1.1, etwas strenger definiert. Anwendungen, die .NET Framework, Version 1.0, verwenden, wurden unter .NET Framework, Version 1.0, ausgeführt, unabhängig davon, was in der Konfigurationsdatei angegeben war. Bei Anwendungen, die .NET Framework, Version 1.1, verwenden, muss mit Hilfe des <supportedRuntime>-Elements gekennzeichnet werden, welche Version(en) der Common Language Runtime eine Anwendung unterstützt. Beachten Sie, dass mit .NET Framework, Version 1.0, erstellte Anwendungen automatisch mit .NET Framework, Version 1.1, ausgeführt werden, sofern durch die Konfiguration keine anderen Vorgaben gemacht werden.

Hinweis   Eine Anwendungskonfigurationsdatei muss denselben Namen wie die Anwendung sowie die Dateierweiterung .config aufweisen. Die Anwendungskonfigurationsdatei für die Anwendung myExecutable.exe muss z. B. myExecutable.exe.config heißen.

Derzeit können Sie eine Anwendung auf Version 1.0 von .NET Framework, Version 1.1 von .NET Framework oder auf beide Versionen ausrichten.

Ausrichten auf .NET Framework, Version 1.1

Der in diesem Abschnitt veranschaulichte Eintrag in der Anwendungskonfigurationsdatei bewirkt, dass eine mit .NET Framework 1.0 erstellte Anwendung in den folgenden Fällen .NET Framework, Version 1.1, verwendet:

  • .NET Framework, Version 1.1, ist installiert.
  • Sowohl .NET Framework, Version 1.0, als auch .NET Framework, Version 1.1, sind installiert.

Wenn nur Version 1.0 installiert ist, wird die Anwendung ausgeführt, da Version 1.0 das <supportedRuntime>-Element nicht erkennt und die Version im Dateiheader der PE-Datei verwendet, die auf Version 1.0 verweist.

In der folgenden Abbildung verfügen MyApp und Assembly A über statische Verweise auf .NET Framework, Version 1.0, während Assembly B einen statischen Verweis auf .NET Framework, Version 1.1, aufweist. Im Beispiel wird in der Anwendungskonfigurationsdatei für MyApp angegeben, dass die Anwendung Version 1.1 unterstützt, so dass die Anwendung und Assembly A zu .NET Framework, Version 1.1, umgeleitet werden.

Anwendungskonfigurationsdatei, die die Assemblybindung zu Version 1.1 umleitet

So richten Sie eine mit .NET Framework, Version 1.0, erstellte Anwendung auf die Ausführung mit .NET Framework, Version 1.1, aus

  • Geben Sie folgenden XML-Code in der Anwendungskonfigurationsdatei ein:

    <?xml version ="1.0"?>
    <configuration>
    <startup>
    <supportedRuntime version="v1.1.4322" /> 
    </startup>
    </configuration> 
    

Ausrichten auf .NET Framework, Version 1.0

Das Ausrichten einer mit .NET Framework, Version 1.1, erstellten Anwendung auf die Ausführung mit .NET Framework, Version 1.0, erfordert einen wesentlich längeren Eintrag in der Anwendungskonfigurationsdatei. Jede Assembly, die zu .NET Framework gehört, muss umgeleitet werden, so dass alle .NET Framework, Version 1.0, verwenden.

Der in diesem Abschnitt veranschaulichte Eintrag in der Anwendungskonfigurationsdatei bewirkt, dass die Anwendung in den folgenden Fällen .NET Framework, Version 1.0, verwendet:

  • .NET Framework, Version 1.0, ist installiert.
  • Sowohl .NET Framework, Version 1.0, als auch .NET Framework, Version 1.1, sind installiert.

Wenn nur .NET Framework, Version 1.1, installiert ist, kann die Anwendung nicht ausgeführt werden.

In der folgenden Abbildung verfügen MyApp und Assembly A über statische Verweise auf .NET Framework, Version 1.0, während Assembly B einen statischen Verweis auf .NET Framework, Version 1.1, aufweist. Im Beispiel wird in der Anwendungskonfigurationsdatei für MyApp angegeben, dass die Anwendung Version 1.0 unterstützt, so dass Assembly B zu .NET Framework, Version 1.0, umgeleitet wird.

Anwendungskonfigurationsdatei, die die Assemblybindung zu Version 1.0 umleitet

So richten Sie eine mit .NET Framework, Version 1.1, erstellte Anwendung auf die Ausführung mit .NET Framework, Version 1.0, aus

  • Geben Sie folgenden XML-Code in der Anwendungskonfigurationsdatei ein:

    <?xml version ="1.0"?>
    <configuration>
        <startup>
           <requiredRuntime version="v1.0.3705"  />
        </startup>
        <runtime>
            <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
                <dependentAssembly> 
                    <assemblyIdentity name="Regcode" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.EnterpriseServices" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Security" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="CustomMarshalers" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Accessibility" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Configuration.Install" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.DirectoryServices" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Drawing.Design" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.ServiceProcess" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Web" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Web.RegularExpressions" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Web.Services" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Windows.Forms" publicKeyToken="b77a5c561934e089" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Xml" publicKeyToken="b77a5c561934e089" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Data" publicKeyToken="b77a5c561934e089" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Design" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Drawing" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System" publicKeyToken="b77a5c561934e089" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Messaging" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="IEExecRemote" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="IEHost" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="IIEHost" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="ISymWrapper" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="mscorcfg" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Management" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Runtime.Remoting" publicKeyToken="b77a5c561934e089" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Runtime.Serialization.Formatters.Soap" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Web.Mobile" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft.Vsa.Vb.CodeDOMProcessor" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft_VsaVb" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft.Vsa" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft.VisualBasic.Vsa" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="cscompmgd" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft.JScript" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft.VisualBasic" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft.VisualC" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
            </assemblyBinding>
        </runtime>
    </configuration> 
    

Siehe auch

Verwenden der parallelen Ausführung | Konfigurieren der Umleitung der Assemblybindung | Feststellen der Laufzeitversionsinformationen