我有一个项目,它使用制造商提供的API与外部硬件连接。最近,一个新版本的硬件出现了略微修改的API。我需要能够连接到两个版本。
我将API的2个版本复制到项目中的2个文件夹中:
Libs
+--APIv2
+--APIv4
并在APIv4中添加了对DLL的项目引用。我的目的是使用反射动态访问v2 API。
奇怪的是,虽然我从APIv4文件夹中添加了v4 API作为引用,但它始终是实际引用的v2 API。引用的Path属性是v2 API的路径 - / Libs / APIv2。
但是,如果两个版本都存储在项目之外并且引用了v4 API,则不会发生这种情况。即如果我引用v4,则实际引用v4。
任何人都可以解释为什么会这样吗?
答案 0 :(得分:0)
我刚刚发现我可以在每个引用上设置一个属性:Specific Version
= true。这似乎解决了我的问题。