Можно ли установить LARGEADDRESSAWARE из Visual Studio?



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



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



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

628   3  

3 ответов:

вы можете сделать это как задача после сборки. На вкладке "построить события" введите следующую команду

editbin /largeaddressaware $(TargetPath)

в " командную строку события после сборки:"

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

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

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

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

это пакет 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>

Comments

    Ничего не найдено.