.NET 4.5项目使用WindowsAzure.ServiceBus 4.1.10包遇编译错误求助
解决WindowsAzure.ServiceBus 4.1.10引用时CS0246错误的问题
这个问题我之前也碰到过,大概率是下面几个原因之一,你可以逐个排查试试:
命名空间拼写错误:你写的
using WindowsAzure.Servicebus;里的Servicebus是小写的b,正确的命名空间是WindowsAzure.ServiceBus(B要大写)!这个拼写错误是最常见的原因,直接导致编译器找不到对应的命名空间,改过来应该就能解决大部分情况。程序集引用未正确添加:有时候NuGet包安装过程可能出现异常,虽然
packages.config里记录了包,但项目的引用列表里并没有添加对应的程序集。你可以右键项目→选择“引用”,看看列表里有没有WindowsAzure.ServiceBus;如果没有,尝试卸载NuGet包后重新安装,或者手动从packages\WindowsAzure.ServiceBus.4.1.10\lib\net45目录下添加Microsoft.ServiceBus.dll引用。项目目标框架不匹配:确认你的项目实际目标框架是.NET 4.5。右键项目→属性→应用程序,检查“目标框架”是否确实是.NET Framework 4.5。如果不小心设置成了更低版本(比如.NET 4.0),这个版本的ServiceBus包是不兼容的,会导致引用失效。
NuGet包安装不完整:如果上面的方法都不行,可能是包的安装文件损坏了。你可以:
- 卸载当前的WindowsAzure.ServiceBus包
- 清理NuGet缓存(在Visual Studio里依次点击“工具→NuGet包管理器→包管理器设置→NuGet包管理器→常规→清除所有NuGet缓存”)
- 重新安装4.1.10版本的包
内容的提问来源于stack exchange,提问作者nano
相关产品推荐
相关产品推荐

