【问题标题】:Weird compatibility problem with .Net 3.5 and 4.0 assemblies (NATUPnPLib).Net 3.5 和 4.0 程序集 (NATUPnPLib) 的奇怪兼容性问题
【发布时间】:2011-02-19 23:39:31
【问题描述】:

我无法让 NATUPnP 1.0 类型库与 Visual Studio 2010 中的 Framework 3.5 一起使用。如果我使用 .Net 4.0,它可以正常工作,但使用 .Net 3.5,NATUPNPLib 的命名空间看起来完全正确 em> 喜欢 NETCONLib 的。

例如来自此站点的此端口转发管理应用程序示例:http://pietschsoft.com/post/2009/02/05/NET-Framework-Communicate-through-NAT-Router-via-UPnP.aspx

..正在使用 .Net 3.5,但除非我将其更改为 .Net 4.0,否则我无法在 Visual Studio 2010 中编译它。
我没试过,但我敢打赌在 Visual Studio 2008 中不会有问题。

【问题讨论】:

    标签: .net assemblies namespaces compatibility


    【解决方案1】:

    我部分复制。我也有两个不同的互操作库,但我在 VS2008 和 VS2010 上都这样做。仔细查看 Add Reference + COM 选项卡的 Path 列。 它们都引用同一个DLL,c:\windows\system32\hnetcfg.dll"

    嗯,从同一个 DLL 生成同一个互操作库是有道理的。我猜微软的某个人认为其中一个类型库名称很糟糕,并更改了注册过程以将其注册为新名称。 并且以旧名称注册它,以免破坏向后兼容性。不确定是哪个,但“CON”是那些在 Microsoft 类型库名称上一遍又一遍地出现的神秘首字母缩略词 (?) 之一。我猜“UPNP”可以更好地完成任务。

    如果您运行 64 位操作系统,可能会有所不同。 选择VS2010显示的名字。否则,将同一个类型库引用到同一个 COM 服务器两次是没有意义的。一个人就能完成工作。

    【讨论】:

      猜你喜欢
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 2016-09-13
      • 1970-01-01
      • 1970-01-01
      • 2010-11-30
      相关资源
      最近更新 更多