Uyarı

2011-11-10 21 views
26

“Z.dll ithal tip X ile Y.cs çatışmalarda tipi X” projemin aşağıdaki uyarıyı verir main.cs:Uyarı

Uyarı 1 tipi 'uzantılar. 'PATH \ Extensions.cs' içinde 'path \ lib.dll' içinde içe aktarılan 'Extensions.MessageDetails' türündeki çakışmalar 'MessageDetails'. 'Path \ Extensions.cs' bölümünde tanımlanan türü kullanmak. yol \ main.cs

Projemde sorun var mı? Uyarıdan nasıl kurtuluruz?

Projemin kod aşağıdaki yapıya sahiptir:

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

Bu Extensions.cs gibi görünüyor
using MyClassLib; 
using Extensions; 

class Program 
{ 
    static void Main(string[] args) 
    { 
     MessageDetails md = new MessageDetails(); 
    } 
} 
+0

Uzantı sınıfınızın iki kopyası var (biri dll'nizde ve ana programınızda bir tane). –

+1

evet, 'Extensions' sınıfı adında' MessageDetails' kullanılmasına ihtiyacım var .. –

+2

Sorununuz, ikisi de aynı olanı referans almaları gerekiyor. Bunu yapmak için bir sınıf kitaplığına eklemeyi deneyin. –

cevap