注意:我是新手,因此很可能是一种我不认识的明显方式。
我有以下项目:
TradingProject (my code) Has reference to TradingLibrary, and to ApiLibrary?
TradingLibrary (my code) Has reference to ApiLibrary
ApiLibrary (3rd party code)
我正在制作几个项目(如TradingProject),它们通过使用现有的 ApiLibrary 与软件进行通信。但我想将泛型方法推送到我写的库中: TradingLibrary 。
不过,我想直接使用 TradingProject 中 ApiLibrary 的某些部分。但是,我需要将对象( ApiLibrary 类)传递给 TradingLibrary 中的方法。应该识别对象的位置。但是我认为这将是一个问题,因为 TradingLibrary 使用它自己对 ApiLibrary 的引用,所以不会被识别为相同的类?
所以..问题是。有什么方法可以将ApiLibrary引用从TradingLibrary“转发”到MyProject,这样它们就会使用相同的引用吗?或者我是否需要复制类并从ApiLibrary继承每个类?像:
NameSpace TradingLibrary
Public Class SomeClass
Inherits ApiLibrary.SomeClass
End Class
我想如果我为所有需要的课程做这件事,那会有用,但有可能是一些我不知道的简单方法吗?
干杯!
答案 0 :(得分:1)
如果它是相同的程序集(dll),那么类型是相同的,不会发生不匹配。
如果您将同一个dll的多个版本加载到同一个AppDomain中,那么事情已经非常混乱了。此时,您可以通过配置使用转发;例如,以下转发和MVC 1。* / 2. *引用MVC 3.0
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
但我强调:通常不需要上述内容,特别是如果您在应用程序旁边运送dll(而不是使用GAC)。
答案 1 :(得分:0)
你有任何问题吗?然后明确指定问题。我不认为您的命名空间结构会有任何问题。