Могу ли я установить LARGEADDRESSAWARE из Visual Studio? - PullRequest
63 голосов
/ 08 апреля 2010

У меня есть сборка .net, которая должна быть 32-битной и должна быть /LARGEADDRESSAWARE.

Я знаю, как это сделать с помощью EditBin, но мне интересно, есть ли встроенный способ в Visual Studio 2010? Или, альтернативно, кто-то написал для этого задачу MSBuild?

Редактировать: Это для приложения на C #, так что, к сожалению, нет параметров компоновщика: (

Ответы [ 3 ]

97 голосов
/ 19 октября 2010

Опираясь на ответ @ RouMao, вы можете получить сообщение об ошибке, в котором говорится, что editbin не найден. Убедитесь, что среда в командной строке события после сборки настроена правильно, указав следующее:

call "$(VS100COMNTOOLS)..\tools\vsvars32.bat"
editbin /largeaddressaware $(TargetPath)

Еще одна вещь, которую нужно понять, это то, что ваше приложение с поддержкой LARGEADDRESSAWARE не будет работать в режиме отладки, когда (на вкладке Debug в свойствах вашего проекта) установлен флажок Enable the Visual Studio hosting process (по умолчанию) , потому что vshost.exe не помечен должным образом.

Снимите этот флажок, чтобы отлаживать приложение, используя LARGEADDRESSAWARE.

49 голосов
/ 08 апреля 2010

Вы можете сделать это как задание после сборки. На вкладке «Build Events» введите следующую команду

editbin /largeaddressaware $(TargetPath)

в «Командная строка события после сборки:»

Это касается VS2008. Я думаю, что это должно работать так же для VS2010.

13 голосов
/ 19 июля 2017

Это пакет NuGet, который может установить LargeAddressAware в вашем двоичном файле после его сборки: https://github.com/KirillOsenkov/LargeAddressAware

Для него не требуется editbin.exe, поскольку у него есть управляемое приложение для программной установки флага: https://github.com/KirillOsenkov/LargeAddressAware/blob/master/SetLargeAddressAware/LargeAddressAware.cs

Обновление: Чтобы использовать его, просто установите пакет и добавьте это свойство в ваш .csproj:

<PropertyGroup> <LargeAddressAware>true</LargeAddressAware> </PropertyGroup>

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