2012-12-20 47 views
1

我使用標準的文件中,這兩個類由相同的ASP.NET C#項目會在VS2010和MonoDevelop的(的Site.Master的Web.Config默認.aspx等),並接收在底部看到的相同錯誤(CS0234)。CS0234 - 不能實例C#類ASP.NET

Login.cs:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using mynamespace; 

namespace mynamespace 
{ 
    public partial class Logon 
    { 
     public void btnClicked(object sender, EventArgs e) 
     { 

      //ERROR IS HERE: 
     mynamespace.Test session = new mynamespace.Test(); 

      //Obviously, this doesn't work either: 
      Response.Write(session.echoUser()); 

     } 
    } 

} 

test.cs中:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using mynamespace; 

namespace mynamespace 
{ 
    public class Test 
    { 
     public string echoUser() 
     { 
      return "foobar"; 
     } 
    } 
} 

我收到了同樣的錯誤在這兩個IDE中,這裏是MonoDevelop的錯誤:

The type or namespace 'Test' does not exist in the namespace 'mynamespace' (are you missing an assembly reference?) (CS0234) Logon.cs

基本上,類Test拒絕實例化。任何輸入是讚賞!

+1

你有兩個項目之間的項目參考? –

+0

右鍵單擊測試項目並單擊添加引用,然後在解決方案選項卡中,您可以選擇您的其他項目。 –

+0

這些是兩個Class文件,而不是兩個項目。我只是編輯我的OP,使其更有意義。我試圖說明我在VS的一個項目和MonoDev的一個單獨的項目中嘗試了這個。 – Matthew2468

回答

1

如果您在ASP.Net Web項目中具有該Test類,那麼您需要將它放在App_Code文件夾中,而不僅僅是該站點中的任何位置。

+0

謝謝,這樣做! – Matthew2468

1

如果你還沒有這樣做,你需要將項目交給對方。我猜你沒有得到intellisense在其他命名空間顯示類,對吧?

您可以在項目視圖下的右側(大多數情況下)看到參考文獻。您可以右鍵單擊那裏並選擇添加引用。然後,您瀏覽來自pther項目的二進制文件。 (你也許可以指向項目本身 - 目前我沒有VS在我面前)。

另外,這是一個使用駱駝大小寫的命名空間的約定,所以它應該是MyNameSpace

如果類在同一個項目中,你可能想使用了myNameSpace跳過測試這一翻譯的mynamespace.Test參閱類。

+0

這些是兩個Class文件,而不是兩個項目。我只是編輯我的OP,使其更有意義。我試圖說明我在VS的一個項目和MonoDev的一個單獨的項目中嘗試了這個。 – Matthew2468

+0

@ Matthew2468兩個班都在同一個項目中嗎?那麼你根本不應該有*使用mynamespace *的行。另外,你不需要指定* mynamespace.Test *,而只需要* Test *。 – 2012-12-20 18:54:02

+0

是的,他們在同一個項目中。我做了你提到的改變,並且我得到錯誤CS0246 – Matthew2468

0

如果這兩個文件都在同一個項目中,請檢查這兩個文件是否包含在項目中,並將「Build Action」屬性設置爲「Compile」。還請檢查所有這些命名空間是否有完全匹配的拼寫和大小寫。