代码之家  ›  专栏  ›  技术社区  ›  jpoh

如何禁止在中使用COM引用时出现编译器警告。NET项目

  •  5
  • jpoh  · 技术社区  · 17 年前

    我们正在使用Windows COM+服务类型库(位于C:\Windows\system32\COMSVCS.dll)来跟踪使用C#3.0/编写的服务的远程计算机上的COM+进程。净3.5。我遇到的问题是,我从编译器收到了一大堆警告,看起来像下面这样:

    至少有一个论点 IGetAppData。GetApps'不能 由运行时封送器封送。 操作不安全的代码。

    为上述方法生成的互操作函数签名为:

    void IGetAppData.GetApps(out uint nApps, IntPtr aAppData)
    

    由于输出已经在调用代码中手动封送(即使用 Marshall.ReadInt32 和 Marshall.PtrToStructure

    5 回复  |  直到 17 年前
        1
  •  8
  •   Igor Tkachenko    10 年前

    <ResolveComReferenceSilent>True</ResolveComReferenceSilent>
    
        2
  •  2
  •   Shay Erlichmen    17 年前

    tlbimp 在Visual Studio外部导入dll并使用生成的引用,而不是让Visual Studio创建它。

        3
  •  1
  •   Sam Harwell    17 年前

    您可以尝试使用经过大幅改进、可定制的 Type Library Importer in Managed Code 自定义方法签名。然后引用此包装器,而不是项目中的原始COM库。

        4
  •  0
  •   Russell    15 年前

        5
  •  -1
  •   Senthil Kumar    17 年前