Aviso do compilador (nível 2) CS1701
Presumindo que a referência de assembly "Nome de Assembly nº 1" corresponda a "Nome de Assembly nº 2", talvez seja necessário fornecer a política em runtime
Dois assemblies diferem no número de versão. Para que a união ocorra, você deve especificar as diretivas no arquivo .config do aplicativo e fornecer o nome forte correto de um assembly, como demonstrado no código de exemplo a seguir.
Exemplo 1
O exemplo de vários arquivos a seguir referencia um assembly, usando dois aliases externos diferentes. Este primeiro exemplo compila a versão mais antiga do código, que cria o assembly CS1701_d.
// 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 {}
Exemplo 2
Este é o código que compila a versão mais recente do assembly CS1701_d. Observe que ele compila em um diretório diferente da versão mais antiga, o que é necessário, pois os arquivos de saída têm os mesmos nomes.
// 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 {}
Exemplo 3
Este exemplo define os alias externos A1 e A2.
// 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(); }
}
Exemplo 4
Este exemplo chama métodos usando dois aliases diferentes de A. O exemplo a seguir gera C1701.
// 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();
}
}
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de