c# - referencia - el nombre del tipo o del espacio de nombres xamarin no se encontro
¿Cómo hacer referencia a un espacio de nombre de un ensamblaje específico? (2)
Pues aqui esta mi problema.
- Mi proyecto (de prueba) hace referencia tanto a Castle Windsor como a Rhino Mocks.
- Estoy creando una clase que implementa Castle.Core.Interceptor.IInterceptor del ensamblado Castle.Core.dll
- En la construcción de Rhino Mocks, Ayende utilizó Castle.Core.Interceptor e incluye el espacio de nombres completo dentro de Rhino.Mocks.dll
Entonces cuando intento construir, obtengo el error
El tipo ''Castle.Core.Interceptor.IInterceptor'' existe en ''c: ... / Libraries / Rhino.Mocks.dll'' y ''c: ... / Libraries / Castle.Core.dll''
¿Cómo especifico que deseo utilizar la instancia de IInterceptor desde Castle.Core.dll en lugar de la que se incluye en Rhino Mocks?
Puede usar un extern alias
para alias uno de los ensamblajes para evitar la ambigüedad.
Vamos a arrojar la respuesta específica aquí en caso de que alguien venga más tarde. Del artículo aquí .
- Seleccione uno de los dos conjuntos debajo de las referencias del proyecto (en mi caso seleccioné Castle.Core). Pulse F4 para mostrar propiedades e ingresar alias CastleCore
- En la parte superior del archivo cs problemático, coloque
extern alias CastleCore;
-
CastleCore::Castle.Core.Interceptors.IInterceptor
referencia a su clase conCastleCore::Castle.Core.Interceptors.IInterceptor
. O en mi caso simplemente lo hice:
usando cci = CastleCore :: Castle.Core.Interceptors;
y ahora puede hacer referencia
cci.IInterceptor