从另一个项目实现一个接口,该接口又引用第三方dll,并使用该dll中的类型

时间:2014-01-22 10:15:47

标签: c# .net visual-studio dll reference

希望我的头衔不会太混乱......

我的解决方案中有几个项目,其中一个项目只包含接口MyProgram.Contract。我的插件需要实现这些接口。

MyProgram.Contract中,我为其中定义的某些类型引用了第三方DLL,例如名为DataValue的类型。

MyProgram.MyPlugin中我引用MyProgram.Contract并实现接口,并且在接口中定义的属性DataValue Value { get; set; }没有问题。它编译,我可以从我的主应用程序设置Value - 属性的值,并在插件的数据绑定视图中显示它。

但是,如果我尝试在我的插件中的代码中使用DataValue,我会收到错误“类型aThirdPartyLib.DataValue是在未引用的程序集中定义的。您必须添加对程序集aThirdPartyLib的引用。 。“

这是我想要避免的。我的愿望是插件不需要其他参考而不是MyProgram.Contract。有没有办法实现这一点,或者我是否需要在插件项目中添加与插件合同项目中相同的所有引用?

1 个答案:

答案 0 :(得分:0)

如果在接口定义中使用该DLL中的类型,那么这些接口的实现者也需要对该DLL的引用。没办法,真的。