Tengo una arquitectura similar a la siguiente:¿Por qué necesito para hacer referencia a esta asamblea, a pesar de que su uso no se ha
de datos (biblioteca de clases que se encarga de nuestras cosas Entity Framework)
Componentes (de etapa intermedia biblioteca de clases que hace referencia a la biblioteca de datos)
WebOffice (aplicación web que hace referencia a la biblioteca de componentes, pero NO Data Library)
Ahora, tengo el siguiente fragmento de código (esto vive dentro de nuestros Components.Payment.cs, y tblPayment está en nuestra biblioteca de datos.):
public static Payment Retrieve(int id)
{
var t = repository.Retrieve(id);
//the above line returns a tblPayment object
if (t != null)
return new Payment(t);
return null;
}
public static Payment Retrieve(tblPayment tblPayment)
{
return new Payment(tblPayment);
}
Después de que agregué esto; el proyecto de WebOffice está dando el siguiente error:
errorCS0012: El tipo 'Data.Model.tblPayment' se define en un conjunto al que no se hace referencia. Debe agregar una referencia al ensamblado 'Datos, Versión = 3.5.0.0, Cultura = neutral, PublicKeyToken = 749b8697f3214861'.
Ahora, esto no tiene mucho sentido para mí, porque el proyecto WebOffice no llama al método Retrieve (tblPayment tblPayment) en absoluto. (Eso solo se está utilizando dentro de la biblioteca de componentes)
¿Alguna pista de por qué estaría pidiendo la referencia de datos? ¿Debo hacer referencia a cada biblioteca a la que hace referencia una biblioteca referenciada? (intente decir eso 5 veces rápido ...)
Tiene todo el sentido. Pude marcar el método Retrieve (tblPayment tblPayment) como interno; y mi problema desapareció ¡Gracias de nuevo! –