VS中的奇怪警告

Jam*_*mes 6 .net c# warnings com-interop

我有很多像这样的警告,我不知道他们的意思.

有谁知道这是什么?

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

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

Pet*_*lin 1

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

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

“输入/输出 C 型数组”部分尤其相关。底线:如果警告中指定方法的返回缓冲区接受“in”值,则您必须应用本文中的修改。但由于所有列出的方法仅处理缓冲区,因此警告对您和框架都没有影响。

但是,如果您想永久消除警告(例如,当您执行“全部重建”时),您将无法选择按照本文所述进行操作。您必须拆卸互操作包装器(使用 ildasm),编辑 IL 并重新组装(使用 ilasm)。这个过程也被称为“创意往返”。