2013-10-16 77 views
2

我創建了一個遊戲,其中包括很多其他類中列出的方法...... 所以我想在全局中使用這個類,所以我將它存儲在一個DLL中(以便能夠在其他幾個項目中使用它)Visual Studio不讀我的dll嗎? (作爲命名空間)

但不知何故,Visual Studio沒有找到我引用的那個DLL的命名空間!

Here's an image

有什麼,我做錯了什麼? 'fncs'DLL的命名空間也被稱爲'fncs'... 它們都是在.NET的相同版本中創建的...... 在此先感謝!

的DLL:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.IO; 
using System.Net; 
using System.Runtime.InteropServices; 

namespace fncs { 
    class io { 
     public static bool write(string dir, object[] obj) { 
      try { 
       File.WriteAllLines(dir, ((System.Collections.IEnumerable)obj).Cast<object>().Select(x => x.ToString()).ToArray()); 
      } catch (Exception e) { 
       return false; 
      } return true; 
     } 
     public static string read(string dir) { 
      StreamReader r = new StreamReader(dir); 
      return r.ReadToEnd(); 
     } 
     public static void saveToServer(string x, string y) { 
      // hidden 
     } 
    } 
    class rc { 
     public static void echo(object obj) { 
      Console.WriteLine(obj.ToString()); 
     } 
     public static string get() { 
      return Console.ReadLine(); 
     } 
    } 
    class math { 
     public static int add(int a, int b) { 
      return a + b; 
     } 
    } 
    class web { 

     public static string getWebContent(string url) { 
      WebClient c = new WebClient(); 
      string s; 
      try { 
       s = c.DownloadString(url); 
      } catch (WebException w) { 
       return w.ToString(); 
      } return s; 
     } 

     public static string OpenSQL() { 
      SQLConnection SQL = new SQLConnection(); 
      return SQL.BindStatus(); 
     } 

     public static string post(string Url, params string[] postdata) { 
      string result = string.Empty; 
      string data = string.Empty; 

      System.Text.ASCIIEncoding ascii = new ASCIIEncoding(); 

      if (postdata.Length % 2 != 0) { 
       Console.WriteLine("Parameters must be even , \"user\" , \"value\" , ... etc"); 
       return string.Empty; 
      } 

      for (int i = 0; i < postdata.Length; i += 2) { 
       data += string.Format("&{0}={1}", postdata[i], postdata[i + 1]); 
      } 

      data = data.Remove(0, 1); 

      byte[] bytesarr = ascii.GetBytes(data); 
      try { 
       WebRequest request = WebRequest.Create(Url); 

       request.Method = "POST"; 
       request.ContentType = "application/x-www-form-urlencoded"; 
       request.ContentLength = bytesarr.Length; 

       System.IO.Stream streamwriter = request.GetRequestStream(); 
       streamwriter.Write(bytesarr, 0, bytesarr.Length); 
       streamwriter.Close(); 

       WebResponse response = request.GetResponse(); 
       streamwriter = response.GetResponseStream(); 

       System.IO.StreamReader streamread = new System.IO.StreamReader(streamwriter); 
       result = streamread.ReadToEnd(); 
       streamread.Close(); 
      } catch (Exception ex) { 
       Console.WriteLine(ex.Message); 
      } 
      return result; 
     } 
    } 
    class SQLConnection { 
     public string conn_bind; 
     public SQLConnection() { 
      //hidden 
     } 
     public string BindStatus() { 
      return conn_bind; 
     } 
    } 
} 
+0

對不起,如果使用這個標題是錯誤的,但我不知道在這種情況下使用正確的話...我終究15歲了。 – John

+0

說你的圖像是空的。你能把它粘貼在這裏嗎? –

+0

噢,對不起,現在修復... – John

回答

5
  1. 在解決方案資源管理器中,右鍵單擊您已經添加了fncs參考。
  2. 選擇「在對象瀏覽器中查看」。這將帶來項目看到的所有組件。
  3. 在樹內選擇fncs並在右下窗口中進行驗證,確定這是您認爲應包含的程序集。 (最有可能的是)。
  4. 打開fncs並查看命名空間。
  5. 應該有一個FNCS名稱空間,如果不是回到fncs 項目並確定原因。
  6. 如果存在FNCS名稱空間,請確認您的目標爲 fncs中有一個類,然後在右側窗口中再次檢查它以驗證它是否是您想要的。

---- ----更新

你的類需要是公共的。默認是內部的,這意味着只有在裝配體內才能看到它。一旦你公開和重建,你的其他項目應該看到它。

+0

嗯,這是一個圖像:http://puu.sh/4RFC5.png沒有命名空間,任何想法爲什麼?即使DLL本身有一個:o – John

+0

@John請參閱更新。 – OmegaMan

+0

哦,謝謝你...看起來像這個工作!謝謝一堆!看起來我的班級不公開...... – John

相關問題