2013-04-21 121 views
1

訪問功能我有一個項目,Project 1,我已經包含在另一個項目(Project 2)。我試圖訪問Project 1中的Project 2。我可以從Project 2導航到我的解決方案中的功能,但是當試圖從我的Project 1文件中訪問它時,我似乎無法訪問它。VB.NET:無法從參考

我也嘗試添加一個參考,但是,我收到一條消息,說我已經在Project 1中引用了Project 2;當我將它添加到解決方案時,我猜想它會發生。任何人都可以幫我解決這個問題嗎?謝謝!

編輯 也許我解釋不好我的解決方案的結構。這裏是我的解決方案資源管理器中的「可視化」表示...

Solution 'Project1' (2 projects) 
    Project1 
    Folders 
     Files 
    Project2 
    Folders 
     Files 
+0

聽起來像循環引用,這是不可能的。您必須添加第三個項目,將常用功能放在那裏,並在「項目1」和「項目2」中引用第三個項目。 – 2013-04-21 13:51:01

+0

嗯,這似乎有點奇怪,除非我只是誤解了你。如果我有我正在處理的Project1,並且只包含Project2以訪問函數,爲什麼我需要創建第三個項目? – daveomcd 2013-04-21 13:54:33

+0

因爲它聽起來像您也嘗試從Project2中訪問Project1內部的函數。 – 2013-04-21 13:55:49

回答

2
  • 確保您已經添加到您要訪問的項目的引用,在你想從訪問它的項目。您可以通過右鍵單擊解決方案資源管理器>添加引用中的項目來執行此操作。>單擊解決方案選項卡>選中要訪問的項目>確定。

  • 確保您要訪問的類是「公共」。

  • 請記住在Project2中使用您嘗試訪問的任何名稱的全名。例如,如果您的名爲「MyClass」的類位於名爲「SomeClasses」的名稱空間內,則必須像這樣定位「MyClass」:Project2.SomeClasses.MyClass。 您也可以使用「導入」關鍵字,這樣您就不必每次都寫完整路徑。

+0

你可以訪問模塊,如果它們是公開的。您的最後一點是不正確的:首先,它假定Project1是Project1的默認命名空間,並且該類不在另一個命名空間中。相反,您應該建議使用完全限定名稱(包括名稱空間)或使用'Imports'語句。編輯你的答案,我會給你一個+1。 – 2013-04-21 17:21:59