无法生成临时类(result = 1).error CS0433,C#,XmlSerializer

时间:2011-11-03 08:39:00

标签: c# assemblies xmlserializer

我在运行时生成动态程序集。该动态程序集具有很少的类,这些类已经在另一个程序集的代码中定义。公共类的名称空间在两个程序集中都是相同的。

现在,当我使用XmlSerializer时,它会抛出歧义异常。

Unable to generate a temporary class (result=1).
error CS0433: The type AppName.Common.Objects.Volatility' exists in both 'AppName.Data.Common.dll' and 'AppName\bin\Debug\Volatility.dll'

对此有任何想法。

提前致谢。

此致 Dheeraj Verma

1 个答案:

答案 0 :(得分:0)

您的问题是,您在命名空间Volatility中有一个名为AppName.Common.Objects的类,它存在于两个dll的接口上。

一个似乎是在调试输出目录中复制并引用volatility.dll,并且已经自动生成AppName.Data.Common.dll

我怀疑你会在Common类中找到Volatile类,它包含dll,但也包含在volatility.dll中。

修改

我认为这里唯一的路由是显式声明您传递给XMLSerializer的对象类型。您可能需要测试对象类型并运行switch语句以使用正确的对象类型调用XMLSerializer。