Предупреждение CA1900 в C # - выравнивание полей на 4-байтовых границах - PullRequest
0 голосов
/ 26 июня 2018

При запуске анализатора я получаю следующее:

Предупреждение Структура CA1900 «PageHeader» содержит следующие непереносимые поля: «PageHeader.TicksInPage»

У меня есть [StructLayout (LayoutKind.Явный)], и TicksInPage определяется как:

    [FieldOffset(14)]
    public int TicksInPage;

Так что я могу видеть, как существует проблема, не связанная с ограничениями.У меня вопрос - этот код некоторое время работал как в 32-, так и в 64-битной Windows, без проблем.Это настольное приложение, а не серверное приложение.Должен ли я беспокоиться об этом предупреждении?

1 Ответ

0 голосов
/ 26 июня 2018

Это говорит о том, что ваш код зависит от платформы и может вести себя по-разному в зависимости от того, работает ли ваш код на 32-битной или 64-битной ОС или на другой платформе.И, вероятно, в конфигурации проекта Build у цели Platform установлено значение «Любой ЦП».

...