首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在.NET 4.5应用程序上使用WindowsAzure.Servicebus包版本4.1.10时出现构建错误

在.NET 4.5应用程序上使用WindowsAzure.Servicebus包版本4.1.10时出现构建错误
EN

Stack Overflow用户
提问于 2018-06-01 16:43:40
回答 1查看 1.3K关注 0票数 1

我似乎无法在project中使用这个库。

严重性代码说明项目文件行抑制状态错误找不到类型或命名空间名称'WindowsAzure‘(是否缺少CS0246指令或程序集引用?)ClassLibrary2 \Visual Studio 2017\Projects\ClassLibrary2\ClassLibrary2\EntityListener.cs 24 Active

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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-02 03:21:38

如果您的.NET项目版本恰好是4.5 (不是4.5.x),那么您将需要回退到WindowsAzure.ServiceBus package version 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;

在下面找到一个示例Azure 4.5控制台应用程序,它将消息发送到.NET服务总线队列。请注意,这只是一个示例,并不是生产就绪的代码。我希望这能帮到你。

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;
            }
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50639424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档