首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于AppDomain中Enum的奇怪的AppDomain

用于AppDomain中Enum的奇怪的AppDomain
EN

Stack Overflow用户
提问于 2010-02-09 09:09:49
回答 1查看 2.5K关注 0票数 4

当从一个SerializationException调用到另一个AppDomain时,我得到了一个枚举的AppDomain:

对于成员‘System.Runtime.Serialization.SerializationException:,Dummy.MyEnum,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null’,不解析

Dummy.MyEnum类型。

样本代码:

代码语言:javascript
复制
public enum MyEnum
{    
  A = 0,    
  B = 1,    
  C = 2,
}

public class FooBar : MarshalByRefObject
{
  public void Test1(MyEnum dummy)
  {
  }

  public void Test2(object dummy)
  {
  }
}

此调用将引发异常:

代码语言:javascript
复制
 getFooBarInOtherAppDomain().Test1(MyEnum.A);

当使用任何其他可序列化类型时,它将成功:

代码语言:javascript
复制
 getFooBarInOtherAppDomain().Test2(0);

调用方、被调用方和枚举在同一程序集中定义。

.Net与“类型未被解析”意味着什么?为什么抛出异常?默认情况下枚举不能序列化吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-09 10:30:42

每个AppDomain都有自己的程序集探测路径,配置为AppDomainSetup类。主app.config的AppDomain文件。在您的示例中,它是查找要加载的程序集,但与用于序列化数据的程序集不同。它找到的那个缺失了枚举类型。使用Fuslogvw.exe对此进行故障排除,可以让您查看正在解析的程序集。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2227870

复制
相关文章

相似问题

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