2011-06-08 83 views
0

我在Lib1中有一個接口。我已經在lib2中的usercontol中繼承了它。未添加基準參考

當我使用其他soluton該用戶控件,然後我得到一個錯誤說

The type 'lib1.IColor' is defined in an assembly that is not referenced. You must add a reference to assembly lib1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

//在分享幫助

public interface IColor 
{ 
string color{get;set;} 
} 

//在Library2

public class MyControl:UserControl,IColor 
{ 
public MyControl() 
{ 
InitializeComponent(); 
} 
public string color{get;set;} 
} 

我問題是爲什麼對基本庫(lib1)的引用沒有得到當我添加lib2時默認添加?

+1

您的意思是,當您在其他解決方案中使用Library2時? IDE告訴你也要在項目中添加Library1作爲參考?這聽起來很符合邏輯,因爲您在Library2項目中使用了Library1。 – 2011-06-08 06:15:28

+0

我的疑問是,IDE應該默認添加,而不是手動添加所有這些。 – 2011-06-08 06:23:16

+0

爲什麼要這樣?它將如何決定哪些相關程序集添加引用?它如何確定程序集的位置 - 它是在GAC中還是在某個任意文件夾中?它將如何處理版本控制?您有責任確保您的項目具有正確的參考,而不是IDE的 – MattDavey 2011-06-15 10:17:18

回答

0

如果您使用的是其他裝配的類型,則應該添加對此裝配的引用。此外,如果你指的是返回IColor的東西,你應該也有一個對liba的引用,因爲類型包含在該程序集中。

+0

我的疑問是,IDE應該默認添加,而不是手動添加所有這些 – 2011-06-08 06:49:53

+3

有一些工具(例如resharper)可以幫助您,但不會自動添加引用。 – thekip 2011-06-08 07:11:50