C# 的 CA1900 警告 - 对齐 4 字节边界上的字段



运行分析器时,我得到这个:

警告 CA1900 结构 "PageHeader" 包含以下不可移植字段: 'PageHeader.TicksInPage'

我确实有[StructLayout(LayoutKind.Explicit(],并且TicksInPage定义为:

[FieldOffset(14)]
public int TicksInPage;

所以我可以看到如何存在非边界问题。我的问题是 - 这段代码已经在 32 位和 64 位 Windows 中运行了一段时间,没有问题。这是一个桌面应用程序,而不是服务器应用程序。我应该关心这个警告吗?

它表示您的代码是特定于平台的,并且可能会有所不同,具体取决于您的代码是在 32 位还是 64 位操作系统上,还是在其他平台上。您可能在项目生成配置中将平台目标设置为"任何 CPU"。

最新更新