I main.cs del mio progetto restituisce il seguente avviso:Attenzione “Il tipo di X nei conflitti Y.cs con il tipo X importata in Z.dll”
Attenzione 1 tipo 'Extensions. MessageDetails "in" PATH \ Extensions.cs "è in conflitto con il tipo importato" Extensions.MessageDetails "in" path \ lib.dll ". Utilizzando il tipo definito in 'path \ Extensions.cs'. path \ main.cs
Cosa c'è di sbagliato nel mio progetto? Come sbarazzarsi dell'avvertimento?
Il codice del mio progetto ha la seguente struttura:
Extensions.cs
namespace Extensions
{
public class MessageDetails
{
public string message { get; set; }
public string link { get; set; }
public string picture { get; set; }
public string name { get; set; }
public string caption { get; set; }
public string description { get; set; }
public string userid { get; set; }
public string username { get; set; }
public object actions { get; set; }
public object privacy { get; set; }
public object targeting { get; set; }
}
}
lib.dll
namespace MyClassLib {
public class MyClassLibFoo {
public void foo(MessageDetails parameters) {
/* .. */
}
}
}
main.cs
using MyClassLib;
using Extensions;
class Program
{
static void Main(string[] args)
{
MessageDetails md = new MessageDetails();
}
}
Esistono due copie della classe delle estensioni (una inclusa nella DLL e una nel programma principale)? –
sì, ho bisogno di usare 'MessageDetails' nella classe' Extensions' dello spazio dei nomi .. –
Questo è il tuo problema, entrambi devono fare riferimento allo stesso. Prova ad aggiungerlo a una libreria di classi per farlo. –