如何消除与相互引用的库和可执行文件的类型冲突?

| 我有两个不同的文件,Foo1.exe和Foo2.dll。 当我尝试使用Foo1.exe中的Foo2.dll中声明的对象时,一切都会按预期进行。 当我尝试使用Foo2.dll中的Foo1.exe中声明的对象时,所有内容都会按预期进行编译。 但是,当我尝试将对象从Foo1.exe传递到Foo2.dll时,Foo1.exe无法编译,因为它的类型与Foo2.dll中的对象冲突,该对象实际上并不存在,而只是从Foo1.exe中引用的。 如何使Foo2.dll可以引用Foo1.exe,但是在编译Foo1.exe时这些类型不会引起冲突? 实际错误信息是“ 0” 谢谢你的帮助!     
已邀请:
您已经设法使Foo1.exe引用了不引用Foo1.exe的Foo2.dll的另一个副本。因为C#编译器将阻止您执行您想做的事情-这是创建循环引用。 因此,即使您正在编译的事实也是偶然的,您应该尝试其他方法。 您需要将Foo1.exe和Foo2.dll通用的类隔离到第三个程序集Foo3.dll中,这两个程序集均被引用。然后,Foo3.dll不应引用Foo1.exe或Foo2.dll。     

要回复问题请先登录注册