我似乎无法在项目中使用此库
严重级代码描述项目文件行抑制状态 错误CS0246找不到类型或命名空间名称'WindowsAzure'(您是否缺少using指令或程序集引用?)ClassLibrary2 \ Visual Studio 2017 \ Projects \ ClassLibrary2 \ ClassLibrary2 \ EntityListener.cs 24活动
using WindowsAzure.Servicebus;
我使用nuget数据包管理器安装,它在我的packages.config文件中定义。为什么我不能使用它?
Packages.config:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="WindowsAzure.ServiceBus" version="4.1.10" targetFramework="net452" />
</packages>
答案 0 :(得分:0)
如果您的.NET项目版本正好是4.5 (而不是4.5.x),则需要回退到WindowsAzure.ServiceBus包版本4.1.3 。而且,这个
这是packages.config:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="WindowsAzure.ServiceBus" version="4.1.3" targetFramework="net45" />
</packages>
此外,要使用的正确名称空间如下:
using Microsoft.ServiceBus.Messaging;
在下面找到一个示例.NET 4.5控制台应用程序,它将消息发送到Azure Service Bus队列。请注意,这只是一个示例,它不是生产就绪代码。我希望这会有所帮助。
using System;
using System.Threading.Tasks;
using Microsoft.ServiceBus.Messaging;
namespace ServiceBusSample
{
class Program
{
static void Main(string[] args)
{
const string ConnectionString = "your service bus connection string";
const string QueueName = "your service bus queue name";
string message = "Hello World!";
string sessionId = Guid.NewGuid().ToString();
SendMessage(ConnectionString, QueueName, sessionId, message).Wait();
Console.WriteLine("Press <ENTER> to exit...");
Console.ReadLine();
}
private static async Task SendMessage(string connectionString, string queueName, string sessionId, string message, string correlationId = null)
{
try
{
if (string.IsNullOrWhiteSpace(connectionString))
{
throw new ArgumentException("Service bus connection string cannot be null, empty or whitespace.");
}
if (string.IsNullOrWhiteSpace(queueName))
{
throw new ArgumentException("Service bus queue name cannot be null, empty or whitespace.");
}
if (string.IsNullOrWhiteSpace(sessionId))
{
throw new ArgumentException("Session id cannot be null, empty or whitespace.");
}
QueueClient queueClient = QueueClient.CreateFromConnectionString(connectionString, queueName);
BrokeredMessage brokeredMessage = new BrokeredMessage(message);
brokeredMessage.SessionId = sessionId;
await queueClient.SendAsync(brokeredMessage);
}
catch
{
// TODO: Handle exception appropriately (including logging)
throw;
}
}
}
}