VB 解决方案中的 C# Class 库无法导入
C# Class Library within VB Solution Does Not Import
我正在尝试为一些 Yahoo Placefinder 工作创建一个 C# class 库。我没有在网上找到 VB 代码示例,所以我想我会使用他们提供的 C# 代码并简单地向我的解决方案添加另一个 class 库项目并节省一些时间。
但是,无论我做什么,我似乎都无法让我的 VB windows 服务项目识别导入命名空间。
我已多次将 VB windows 服务项目中的引用添加到 C# 库(见下文)...
...但似乎无法正确识别它。
下面是 class 代码。
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
一条评论指示我查看对象查看器,它确实显示了 class 库,但没有显示任何功能。我不确定这是为什么,但我觉得这与我的问题有关。
更新 2
代码最初来自Yahoo。
如果 Studio 抱怨引用的库不包含 public 类 或方法,那很可能是真的。
- 检查库项目是否确实生成。使用 'Build' > 'Clean solution',然后重建。
- 检查您是否从主项目中引用了正确的 dll 文件。您可能已将引用指向一些陈旧的副本。
检查包含实际库代码的代码模块是否确实可以编译(Build Action 类型必须是 'Compile')。
我正在尝试为一些 Yahoo Placefinder 工作创建一个 C# class 库。我没有在网上找到 VB 代码示例,所以我想我会使用他们提供的 C# 代码并简单地向我的解决方案添加另一个 class 库项目并节省一些时间。
但是,无论我做什么,我似乎都无法让我的 VB windows 服务项目识别导入命名空间。
我已多次将 VB windows 服务项目中的引用添加到 C# 库(见下文)...
...但似乎无法正确识别它。
下面是 class 代码。
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
一条评论指示我查看对象查看器,它确实显示了 class 库,但没有显示任何功能。我不确定这是为什么,但我觉得这与我的问题有关。
更新 2
代码最初来自Yahoo。
如果 Studio 抱怨引用的库不包含 public 类 或方法,那很可能是真的。
- 检查库项目是否确实生成。使用 'Build' > 'Clean solution',然后重建。
- 检查您是否从主项目中引用了正确的 dll 文件。您可能已将引用指向一些陈旧的副本。
检查包含实际库代码的代码模块是否确实可以编译(Build Action 类型必须是 'Compile')。