Ho un'architettura simile al seguente:Perché devo fare riferimento a questa assemblea, anche se non è in uso
dati (Libreria di classi che gestisce la nostra roba Entity Framework)
Components (livello intermedio libreria di classi che fa riferimento a libreria di dati)
WebOffice (applicazione web che fa riferimento a libreria di componenti, ma NON libreria di dati)
Ora, ho il seguente frammento di codice (questo vive all'interno dei nostri Components.Payment.cs e tblPayment è contenuto nella nostra libreria di dati.):
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);
}
Dopo averlo aggiunto; il progetto WebOffice sta dando il seguente errore:
errorCS0012: Il tipo "Data.Model.tblPayment" è definito in un assembly a cui non viene fatto riferimento. È necessario aggiungere un riferimento all'assembly 'Data, Versione = 3.5.0.0, Culture = neutro, PublicKeyToken = 749b8697f3214861'.
Ora, questo non ha proprio senso per me, perché il progetto WebOffice non chiama affatto il metodo Recupera (tblPayment tblPayment). (Utilizzato solo all'interno della libreria Componenti)
Qualsiasi indizio sul motivo per cui richiederebbe il riferimento dati? Devo fare riferimento a tutte le librerie a cui fa riferimento una libreria referenziata? (prova a dire che 5 volte veloce ...)
Ha senso. Sono stato in grado di contrassegnare il metodo Retrieve (tblPayment tblPayment) come interno; e il mio problema è andato via. Grazie ancora! –