C# 从另一个项目实现接口,该项目反过来引用第三方dll,并使用该dll中的类型
希望我的标题不会太混乱 我的解决方案中有几个项目,其中一个只包含接口C# 从另一个项目实现接口,该项目反过来引用第三方dll,并使用该dll中的类型,c#,.net,visual-studio,dll,reference,C#,.net,Visual Studio,Dll,Reference,希望我的标题不会太混乱 我的解决方案中有几个项目,其中一个只包含接口MyProgram.Contract。我的插件需要实现这些接口 在MyProgram.Contract中,我为其中定义的某些类型引用了第三方DLL,例如称为DataValue 在MyProgram.MyPlugin中,我引用MyProgram.Contract并实现该接口,并且具有接口中定义的属性DataValue值{get;set;}。它可以编译,我可以从我的主应用程序中设置value-属性的值,并在插件的数据绑定视图中显示它
MyProgram.Contract
。我的插件需要实现这些接口
在MyProgram.Contract
中,我为其中定义的某些类型引用了第三方DLL,例如称为DataValue
在MyProgram.MyPlugin
中,我引用MyProgram.Contract
并实现该接口,并且具有接口中定义的属性DataValue值{get;set;}
。它可以编译,我可以从我的主应用程序中设置value
-属性的值,并在插件的数据绑定视图中显示它
但是,如果我尝试在插件的代码中使用DataValue
,则会出现错误“类型AthirPartyLib.DataValue是在未引用的程序集中定义的。您必须添加对程序集AthirPartyLib.的引用”
这就是我想要避免的。我的愿望是,这些插件不需要其他参考,只需要参考
MyProgram.Contract
。有没有办法实现这一点,或者我需要在插件项目中添加与插件合同项目中相同的所有引用?如果在接口定义中使用该DLL中的类型,那么这些接口的实现者也需要对该DLL的引用。没办法,真的