2015-09-15 71 views
1

我正在嘗試爲某些Yahoo Placefinder工作創建一個C#類庫。我沒有在網上找到VB代碼示例,所以我想我會使用它們提供的C#代碼,並簡單地將另一個類庫項目添加到我的解決方案中,並節省一些時間。VB解決方案中的C#類庫不會導入

但是,無論我做什麼,我似乎都無法讓我的VB Windows服務項目識別導入名稱空間。

Imports Code

我曾多次添加VB Windows服務項目的C#庫中引用(見下文)...

References

...但似乎沒有給它造成正確識別它。

下面是班級代碼。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using OAuth; 

namespace YahooRequest 
{ 
    public class YahooR 
    { 
    /// <summary> 
    /// Request Address from Yahoo BOSS Placefinder 
    /// </summary> 
    /// <param name="args"></param> 
    /// <returns></returns> 
    public static string RequestAddress(string[] args) 
    { 
     string consumerKey = "..."; 
     string consumerSecret = "..."; 
     var uri = new Uri("https://yboss.yahooapis.com/geo/placefinder?location=" + args[0]); 
     string url, param; 
     var oAuth = new OAuthBase(); 
     var nonce = oAuth.GenerateNonce(); 
     var timeStamp = oAuth.GenerateTimeStamp(); 
     var signature = oAuth.GenerateSignature(uri, consumerKey, 
     consumerSecret, string.Empty, string.Empty, "GET", timeStamp, nonce, 
     OAuthBase.SignatureTypes.HMACSHA1, out url, out param); 

     using (WebRequest response = WebRequest.Create(string.Format("{0}?{1}&oauth_signature={2}", 
     url, param, signature)).GetResponse()) 
     { 
     using (StreamReader reader = new StreamReader(response.GetResponseStream())) 
     { 
      return reader.ReadToEnd(); 
     } 
     } 
    } 
    } 
} 

關於爲什麼這個庫不會被Visual Studio識別的任何建議?

更新1

註釋指示我看對象瀏覽器,它確實有顯示,它不顯示任何功能的類庫。我不確定這是爲什麼,但我覺得它與我的問題有關。

Object Viewer

更新2

代碼最初來自Yahoo

+3

什麼版本的框架中,貴圖書館的目標,什麼版本做你的VB項目的目標? –

+0

我曾考慮過這個問題。目標2.0。原來的項目是舊的,所以我建立了類庫來匹配。類庫編譯沒有問題。 –

+2

請發佈代碼,而不是代碼圖片。 –

回答

2

如果Studio抱怨引用的庫不包含公共類或方法,那很可能是真的。

  • 檢查庫項目確實是否構建。使用「構建」>「清理解決方案」,然後重建。
  • 檢查您是否從主項目引用了正確的dll文件。你可能已經指出了一些陳舊的副本的引用。
  • 檢查包含實際庫代碼的代碼模塊是否確實編譯(構建操作類型必須是「編譯」)。

    enter image description here