【问题标题】:Implementing an interface from another project, which in turn references a 3rd party dll, and using types from that dll从另一个项目实现一个接口,该接口又引用一个第 3 方 dll,并使用该 dll 中的类型
【发布时间】:2014-01-22 10:15:47
【问题描述】:

希望我的标题不会太混乱..

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-10-15
      • 1970-01-01
      • 1970-01-01
      • 2022-11-28
      • 2013-08-12
      • 2012-02-16
      • 2021-11-19
      • 1970-01-01
      • 2010-12-13
      相关资源
      最近更新 更多