System.Messaging/MSMQ 在 ASP.NET Core 1.0 中无法访问

System.Messaging/MSMQ not accessible in ASP.NET Core 1.0

我一直在使用 MVC 6 和其他一些较新的 Web 开发工具(Angular 2.0 等),并且 运行 对设置使用 MSMQ 的网页时出现问题。作为参考,我使用的是 VS2015 Update 2,我认为它仍然是 RC1。

当我第一次尝试弄乱 System.Messaging 时,它一直有 Nuget 包的问题(这是 Update 2 的一个错误,它需要更新 Nuget 服务)并且不会引用正确包装。在继续使用它之后,我最终得到了引用的包(必须在我的解决方案资源管理器中手动完成)并且 Visual Studio 最初检测到的任何错误似乎都已解决。现在,我在构建时收到错误消息,指出它找不到引用(对 System.Messaging)。我不确定这是我的解决方案的问题还是 VS2015 遇到的问题。

据我所知(我来自 WCF),MVC 6 是处理此类情况的更好方法,因此我正在尝试进行转换,但这让我完全陷入困境轨道。

如果有任何特定的方法我需要在 MVC 6/ASP.NET Core 1.0 中执行消息队列,我还没有找到它,所以非常感谢任何关于这方面的资源或建议。

除非您特别需要使用 .net 核心 DNX 定位多平台,否则您仍然可以使用 MVC6 和 DNX 的所有新热门功能编写您的应用程序,但仍然定位经典的完整 .Net 4.5.1(或您需要的任何版本)。

打开您的 project.json 文件并找到其中的 "frameworks" 部分,并删除对 "dnxcore50" 的引用,以便最后一节变为以下内容。

"frameworks": {
    "dnx451": { },
 },

到那时你应该可以毫无问题地引用 System.Messaging