2010-05-15 117 views
6

我在使用Visual Studio 2010中的Framework 3.5時使用NATUPnP 1.0類型庫時遇到問題。如果使用.Net 4.0,它工作得很好,但是.net 3.5,NATUPNPLib的命名空間看上去像是NETCONLib的exodactly.NET 3.5和4.0程序集奇怪的兼容性問題(NATUPnPLib)

例如從該網站這個端口轉發管理應用程序的示例:http://pietschsoft.com/post/2009/02/05/NET-Framework-Communicate-through-NAT-Router-via-UPnP.aspx

..是使用.net 3.5,但我不能讓它在Visual Studio 2010中編譯,除非我改變它.NET 4.0 。
我還沒有嘗試過,但我敢打賭,在Visual Studio 2008中不存在任何問題。

回答

5

我部分複印。我也得到了兩個不同的互操作庫,但我在VS2008和VS2010上都這樣做。仔細查看添加引用+ COM選項卡,路徑列。 他們都指的是相同的DLL,c:\ windows \ system32 \ hnetcfg.dll「

嗯,它是有道理的,相同的互操作庫從同一個DLL生成。微軟認爲其中一個類型庫名稱很糟糕,並改變了註冊程序,以新名稱註冊它。註冊它的舊名稱,以便不打破向後兼容性。不知道哪一個,但「CON」是一個這些神祕的首字母縮略詞(?)在微軟的類型庫名稱上一再出現。「UPNP」更好地指出了這個工作,我猜。

如果你運行64位操作系統g系統。 挑選VS2010顯示的名稱。否則,將相同的類型庫引用到同一個COM服務器兩次是毫無意義的。人會完成工作。

相關問題