c# - mvc - Clase ambigua con nombres de espacio de nombres en 2 dlls.
dropdownlist razor (2)
He importado 2 archivos DLL a mi aplicación (tercero) Ahora ambos tienen un espacio de nombres con el mismo nombre. Por ejemplo, AB y en ambos hay otra clase con el mismo nombre. Ahora quiero crear una instancia de uno de ellos, pero como el espacio de nombres y los nombres de clase son iguales, el compilador se vuelve ambiguo. ¿Cómo puedo especificar witch dll utilizado en el lugar?
Solo una pequeña mejora o información mejorada: si tiene múltiples usos, la línea "extern alias lib1;" debe ser el primero de esos usos (pero también MS VS le informa al respecto).
Supongamos que tiene 2 conjuntos ( ClassLibrary1.dll
y ClassLibrary2.dll
) que definen la misma clase en el mismo espacio de nombres:
namespace Foo
{
public class Bar
{
}
}
Ahora, en el proyecto consumidor, podría definir un alias adicional en las referencias de la biblioteca de clases:
Y ahora puedes hacer lo siguiente para ayudar a que el compilador no tenga ambigüedad:
extern alias lib1;
extern alias lib2;
class Program
{
static void Main()
{
var barFromLib1 = new lib1::Foo.Bar();
var barFromLib2 = new lib2::Foo.Bar();
}
}