Переключение с «Любой процессор» на «X64» - PullRequest
2 голосов
/ 25 сентября 2019

Ранее наше программное обеспечение должно было быть создано как для 32-битной, так и для 64-битной Windows.Теперь руководство продукта решило, что нам больше не нужно поддерживать 32-битную Windows (это замечательно для сторонних SDK и драйверов).

Почти во всех наших примерно 200 проектах конфигурации DEBUG и RELEASE имеют«Цель платформы» только «Любой процессор» (специализированы только некоторые обертки сторонних компонентов).Конечно, программное обеспечение будет работать на 64-битных системах с такими настройками.Но компиляция только для 64-битной системы может позволить больше оптимизаций компилятора (или я ошибаюсь?), Поэтому я бы предпочел создавать 64-битные исполняемые файлы.

Как показано в Как указать платформу для MSBuild?, нет возможности просто добавить параметр в командную строку msbuild, вместо этого нужно изменить каждый проект ...

Какой самый простой способ сделать это?Или мне не нужно заботиться, потому что в этом нет никакого преимущества?

Примечание: мы используем C # с Visual Studio Professional 2015 Версия 14.0.25425.01 с обновлением 3.

1 Ответ

0 голосов
/ 26 сентября 2019

нет возможности просто добавить параметр в командную строку msbuild, вместо этого нужно изменить каждый проект ... Какой самый простой способ сделать это?

1.Как и в приведенной выше ссылке, вы можете легко создать x64 Solution Platform для вашего текущего решения, убедиться, что опция create new project platforms включена, и VS поможет настроить платформу x64 для всех 200 проектов.

2.Но если ваша команда ранее создала платформу решений x64, но на данный момент часть проектов по-прежнему Any CPU, если вы не хотите менять их один за другим, вы можетещелкните раскрывающийся список Active Solution Platform и выберите «Редактировать», удалите платформу решения x64.После этого пересоздание новой платформы решений x64 поможет создать все платформы проектов x64.

3. Также в некоторых ситуациях может потребоваться применить некоторые изменения (пользовательское событие после сборки ...) ко всемпроекты в текущем решении, но это занимает много времени, чтобы сделать это вручную.Вы можете рассмотреть возможность использования Directory.Build.props . (Создайте новый и поместите его в папку решения, все настройки в нем будут применены к проектам в рамках решения)

Но так каксвойство в xx.csproj будет перезаписывать свойство с тем же именем из файла назначения или файла props, пожалуйста, не устанавливайте свойство с таким же именем в этом файле.

Что касается преимуществ в этом.*

Вы можете сначала проверить этот список , поскольку ваш менеджер по продукту решает больше не поддерживать 32-битные окна, если все ваши сторонние sdks также поддерживают x64, вы можете свободно переключатьсядо х64.Но это может не сильно повлиять на производительность, будь то приложение, построенное на x64 или Any CPU, поскольку оно всегда работает в 64-битных окнах.См. подробности от svick .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...