我有以下簡單的代碼:爲什麼在Unity中使用system.messaging會導致未處理的異常?
using UnityEngine;
using System;
using System.Messaging;
using System.IO;
using RabbitMQ;
using Mono.Messaging;
using Mono.Messaging.RabbitMQ;
namespace NB.src.ui {
public class NBMessage {
public void Init() {
Message msg = new Message();//build pass
if(!MessageQueue.Exists(".\\myQueue"))//error
{
MessageQueue.Create(".\\myQueue");
}
}
我收到以下錯誤:
未處理的異常:System.TypeLoadException:未能從程序集加載類型 'System.Messaging.MessageQueue'' System.Messaging, Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'。
在(包裝管理到本機)System.MonoType:GetMethodsByName (字符串,System.Reflection.BindingFlags,布爾,System.Type的)
在System.MonoType.GetMethods(的BindingFlags bindingAttr)[0x00000 ] 在:0
在Mono.CSharp.MemberCache.AddMethods(的BindingFlags BF,System.Type的 型)[0x00000]在:0
在Mono.CSharp.MemberCache.AddMethods(System.Type的類型)[0x00000] in:0
在Mono.CSharp.MemberCache..ctor(IMemberContainer容器) [0x00000]在:0
在Mono.CSharp.TypeHandle..ctor(System.Type的類型)在 [0x00000]:0
在Mono.CSharp.TypeHandle.GetTypeHandle(System.Type的噸)[0x00000]在 :0
在Mono.CSharp.TypeHandle.GetMemberCache(System.Type的噸)[0x00000] 在:0
在Mono.CSharp.TypeManager.MemberLookup_FindMembers(System.Type的噸, MemberTypes公噸,的BindingFlags BF,System.String名稱,System.Boolean & used_cache)[0x00000]在:0
在Mono.CSharp.TypeManager。 RealMemberLookup(System.Type的 invocation_type,System.Type的qualifier_type,System.Type的queried_type, MemberTypes公噸,的BindingFlags original_bf,System.String名稱,IList的 almost_match)[0x00000]在:0
在Mono.CSharp.TypeManager .MemberLookup(System.Type invocation_type,System.Type qualifier_type,System.Type queried_type, 個MemberTypes噸,的BindingFlags original_bf,System.String名,IList的 almost_match)[0x00000]中:0
什麼可能導致此,如何解決呢?
你真的需要提供更多的細節。這是發生在構建?在運行時?您是否真的將該程序集作爲項目中的參考? – gwin003
在單聲道中構建好,但在統一中出現錯誤。 – user2561468
代碼太簡單了, 使用UnityEngine;使用系統的 ;使用System.Messaging的 ;使用System.IO的 ; 使用RabbitMQ; 使用Mono.Messaging; using Mono.Messaging.RabbitMQ; 命名空間NB.src.ui { \t公共類NBMessage \t \t {\t \t \t公共無效的init() \t \t { \t \t \t消息MSG =新的Message(); //建立通 \t \t \t \t \t \t if(!MessageQueue.Exists(「。\\ myQueue」))// error \t \t \t { \t \t \t \t MessageQueue.Create(「。\\ myQueue」); \t \t \t} \t \t} – user2561468