Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Feltételezve, hogy az "Szerelvény neve #1" szerelvényhivatkozás megegyezik a "Szerelvény neve #2" értékkel, előfordulhat, hogy futásidejű szabályzatot kell megadnia
A két szerelvények a kiadási és/vagy a verziószámban különböznek. Az egyesítéshez meg kell adnia az irányelveket az alkalmazás .config fájljában, és meg kell adnia egy szerelvény helyes erős nevét, ahogy az az alábbi példakódban is látható.
1. példa
Az alábbi többfájlos minta egy két különböző külső aliast használó szerelvényre hivatkozik. Ez az első minta a kód régebbi verzióját hozza létre, amely szerelvény CS1701_d hoz létre.
// 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 {}
2. példa
Ez az a kód, amely létrehozza a szerelvény újabb verzióját CS1701_d. Vegye figyelembe, hogy a régebbi verziótól eltérő könyvtárba fordítja le a fájlt, mivel a kimeneti fájlok neve megegyezik.
// 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 {}
3. példa
Ez a minta beállítja az A1 és A2 külső aliasokat.
// 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(); }
}
4. példa
Ez a minta az A két különböző aliasával hívja meg a metódusokat. Az alábbi minta C1701-et hoz létre.
// 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();
}
}