visual studio proyecto outputpath outpath genera assemblyname c# .net visual-studio msbuild

c# - proyecto - outputpath y assemblyname visual studio 2017



¿Puedo configurar LARGEADDRESSAWARE desde Visual Studio? (3)

Tengo un ensamblado .net que necesita ser de 32 bits y necesita ser / LARGEADDRESSAWARE.

Sé cómo hacer esto con EditBin, pero me pregunto si hay una forma integrada en Visual Studio 2010. O, alternativamente, ¿alguien escribió una tarea de MSBuild para esto?

Editar: Esto es para una aplicación C #, por lo que no hay opciones de vinculador por desgracia :(


Basándose en la respuesta de @ RouMao, es posible que aparezca un mensaje de error que dice que no se puede encontrar editbin . Asegúrese de que el entorno en la línea de comandos del evento posterior a la creación esté configurado correctamente especificando lo siguiente:

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

Otra cosa que debes entender es que si en la pestaña Depurar en las propiedades de tu proyecto está marcada la casilla de verificación Habilitar el proceso de alojamiento de Visual Studio (predeterminado), tu aplicación no se ejecutará con LARGEADDRESSAWARE (porque vshost.exe no está correctamente marcado). Desmarca esa casilla para depurar tu aplicación usando LARGEADDRESSAWARE.


Este es un paquete NuGet que puede configurar LargeAddressAware en su binario una vez que está construido: https://github.com/KirillOsenkov/LargeAddressAware

No requiere editbin.exe ya que tiene una aplicación administrada para establecer el indicador mediante programación: https://github.com/KirillOsenkov/LargeAddressAware/blob/master/SetLargeAddressAware/LargeAddressAware.cs

Actualización: para usarlo, simplemente instale el paquete y agregue esta propiedad en su .csproj:

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


Puedes hacerlo como una tarea posterior a la construcción. En la pestaña "Crear eventos", coloca el siguiente comando

editbin /largeaddressaware $(TargetPath)

en la "línea de comando de evento posterior a la construcción:"

Este es el caso para VS2008. Creo que debería funcionar de la misma manera para VS2010.