2012-05-17 22 views
0

我有一個DLL接口,並正在執行其在一個控制檯應用程序進行測試從另一個DLL實現控制檯應用程序接口錯誤

我的界面如下

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace Gemini.Data.Interfaces 
{ 
    public interface IUser 
    { 
     IEnumerable<IUserDetails> UserProfiles { get; set; } 
     string AdUserName { get; set; } 
    } 

    public interface IUserDetails 
    { 
     int UserId { get; set; } 
     string DisplayUserName { get; set; } 
     string OfficeCode { get; set; } 
     string UserEmail { get; set; } 
     string AdLogin { get; set; } 
     bool? LastActiveUser { get; set; } 
     Gemini.Data.App_Consts.Access_Rights UserAccess { get; set; } 
     bool IsPM { get; set; } 
     bool IsSPM { get; set; } 
     bool IsVdbUser { get; set; } 
     DateTime? LastModified { get; set; } 
     DateTime? LastLoginUse { get; set; } 
     int? LastModifiedBy { get; set; } 
    } 
} 

,當我嘗試使用它在測試應用程序,我得到以下

類型或命名空間名稱IUSER'不存在命名空間存在「Gemini.Data.Interfaces」(是否缺少程序集引用?)

控制檯應用程序如下:

using System; 
using System.Collections.Generic; 
using Gemini.Data.Interfaces; 

namespace ConsoleApplication2 
{ 
    public class User : Gemini.Data.Interfaces.IUser 
    { 
     private IEnumerable<IUserDetails> _UserProfiles = null; 
     #region IUser Members 

     public IEnumerable<IUserDetails> UserProfiles 
     { 
      get { return _UserProfiles; } 
      set { _UserProfiles = value; } 
     } 

     public string AdUserName { get; set; } 

     #endregion 

    } 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      User u = new User(); 
      Gemini.Data.Main.UserDetails ud = new Gemini.Data.Main.UserDetails(u, "Qpirate"); 
     } 

    } 

} 

Visual Studio中似乎引用接口,我可以在類調用轉到定義。

任何人都知道別的東西我可以試試嗎?

我已經檢查過,控制檯應用程序的目標是與DLL相同的.NET Framework。

回答

0

我最終剛剛刪除舊的解決方案並重新開始,但我注意到的一件事是,當我創建控制檯應用程序時,目標框架是「.NET Framework Client Profile」

0

同樣的問題發生在我身上,我發現程序集名稱和控制檯應用程序名稱與我的情況相同。

要排除故障,我會建議首先確保程序集名稱是不同的DLL和控制檯應用程序。

如果解決不了,請嘗試指定不同的名稱空間(兩個項目選項卡中的默認名稱空間,並重命名現有名稱空間)。

如果這樣也解決不了,請先嚐試將dll的代碼合併到應用程序中,然後逐個移動。我希望你的代碼庫很小。

相關問題