VS中的奇怪警告

本文关键字:警告 VS | 更新日期: 2023-09-27 18:34:58

我收到了很多这样的警告,但我不知道它们是什么意思。

有谁知道这是什么?

"'IOleWindow.GetWindow'的至少一个参数不能由运行时封送拆收器封送。因此,此类参数将作为指针传递,并且可能需要不安全的代码来操作。

我还应该指出,它与"c:''Windows''Microsoft.NET''Framework''v4.0.30319''Microsoft.Common.targets"有关。

VS中的奇怪警告

您可以使用Type Library Importer(tblimp(将DLL导入Visual Studio外部并使用生成的引用,而不是让Visual Studio创建它,从而删除警告。

可以

在这里找到对情况的很好的解释:

您可以安全地忽略这些警告。您可以找到有关此内容的更多信息 通过查阅此页面的问题: http://msdn.microsoft.com/en-us/library/aa289520%28v=vs.71%29.aspx

"输入/输出 C 样式数组"部分特别相关。 底线:如果返回的缓冲区中指定方法的 警告接受"in"值,您必须应用 文章中的修改。但是由于所有列出的方法都只有 处理缓冲区,警告对您和 框架。

但是,如果您想永久摆脱警告(当您 例如,执行"全部重建"(,您将别无选择继续 如文章中所述。您必须反汇编互操作 包装器(使用 ildasm(,编辑 IL 并重新组装(使用 ilasm(。这 该过程也称为"创造性往返"。

警告消息的主要问题是它仅指示项目而不是有问题的 COM,因此消除过程似乎是跟踪此问题的唯一方法。