(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Compilerwarnung (Stufe 2) CS1701

Es wird angenommen, dass der Assemblyverweis "Assemblyname1" mit "Assemblyname2" übereinstimmt. Möglicherweise müssen Sie eine Laufzeitrichtlinie bereitstellen.

Die zwei Assemblys unterscheiden sich in Release- und/oder Versionsnummer. Für den Fall der Zusammenführung müssen Sie Direktiven in der Konfigurationsdatei der Anwendung angeben. Außerdem müssen Sie den richtigen starken Namen einer Assembly angeben, wie im folgenden Beispielcode veranschaulicht.

Im folgenden Beispiel mit mehreren Dateien wird mithilfe zweier verschiedener externer Aliase auf eine Assembly verwiesen. In diesem ersten Beispiel wird die frühere Codeversion erstellt, mit der Assembly CS1701_d erstellt wird.

// CS1701_a.cs
// compile with: /target:library /out:cs1701_d.dll /keyfile:mykey.snk
using System.Reflection;
[assembly:AssemblyVersion("1.0")]
public class A {
   public void M1() {}
}

public class C1 {}

Dies ist der Code, mit dem die neuere Version von Assembly CS1701_d erstellt wird. Beachten Sie, dass sich das Kompilierergebnis in einem anderen Verzeichnis als die ältere Version befindet, weil die Ausgabedateien dieselben Namen aufweisen.

// CS1701_b.cs
// compile with: /target:library /out:c:\\cs1701_d.dll /keyfile:mykey.snk
using System.Reflection;
[assembly:AssemblyVersion("2.0")]
public class A {
   public void M2() {}
   public void M1() {}
}

public class C2 {}
public class C1 {}

In diesem Beispiel werden die externen Aliase A1 und A2 eingerichtet.

// CS1701_c.cs
// compile with: /target:library /reference:A2=c:\\cs1701_d.dll /reference:A1=cs1701_d.dll

extern alias A1;
extern alias A2;
// using System;
using a1 = A1::A;
using a2 = A2::A;

public class Ref {
   public static a1 A1() { return new a1(); }
   public static a2 A2() { return new a2(); }

   public static A1::C1 M1() { return new A1::C1(); }
   public static A2::C2 M2() { return new A2::C2(); }
}

In diesem Beispiel werden Methoden mithilfe von zwei verschiedenen Aliasen von A aufgerufen. Im folgenden Beispiel wird C1701 generiert.

// CS1701_d.cs
// compile with: /reference:c:\\CS1701_d.dll /reference:CS1701_c.dll
// CS1701 expected
class Tester {
   public static void Main() {
      Ref.A1().M1();
      Ref.A2().M2();
   }
}
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.