生产者使用.net core编写,而消费者使用.net编写,消息类型都是String类型,但是.net core是基于System.Private.CoreLib.dll,.net是基于mscorlib.dll,导致消费者在处理消息的时候报无法加载System.Private.CoreLib.dll的错误。解决办法也简单,生产者和消费者都使用第三方类型。比如Newtonsoft.Json的Jobject
//生产
var param = new JObject
{
new JProperty("id", cameraId),
new JProperty("starttime", playTime),
new JProperty("rtmp", rtmp)
};
//回放消息写入消息队列
RabbitMQHelper.Send<JObject>("Camera_PlayBlack", param);
//消费
bus.Receive<JObject>("Camera_PlayBlack", a =>
{
Console.WriteLine(a);
});