visual-studio-2017 - profesional - visual studio 2017 tutorial
vsvars32.bat en Visual Studio 2017 (5)
Como el instalador de Visual Studio es nuevo en la versión de Visual Studio 2017, no puedo ubicar el componente de Visual C ++, que se explica here .
¿Cómo procedo para obtener el vsvars32.bat
en VS2017?
Ninguna de las soluciones mencionadas funcionó para mí. Después de calentar mi cabeza del error "falta vsvars32.bat", revisé todas las líneas y faltaba el ''svcutil.exe''.
Pensé en arreglar eso y funcionó. Tengo la siguiente ruta en mi máquina para SvcUtil.exe:
C: / Archivos de programa (x86) / Microsoft SDKs / Windows / v7.0A / Bin
Establecí la ruta en la Variable del entorno del sistema y reinicié mi Visual Studio por si acaso y funcionó.
¡Espero que esto ayude a alguien!
Edición: Muy extraño: funciona cuando tengo habilitada la opción "Carga de solución ligera". Tan pronto como deshabilitaré la "Carga ligera de la solución", ¡comenzará a darme el mismo error!
Sé que la pregunta está (bien) respondida, pero me gustaría compartir cómo resolví el problema con la esperanza de que ayude a la gente a buscar una solución en Google .
if exist "%programfiles(x86)%/Microsoft Visual Studio/Installer/vswhere.exe" (
for /F "tokens=* USEBACKQ" %%F in (`"%programfiles(x86)%/Microsoft Visual Studio/Installer/vswhere.exe" -version 15.0 -property installationPath`) do set INSTALLPATH=%%F
)
Una pequeña explicación de la secuencia de comandos anterior.
vswhere.exe es un archivo ejecutable nativo de un solo archivo que puede descargar o redistribuir con sus entornos de desarrollo e implementación para ubicar Visual Studio u otros productos instalados con el nuevo instalador para Visual Studio 2017 (de la wiki de vswhere )
Comenzando con Visual Studio 15.2 (26418.1 Vista previa) vswhere.exe se instala en% ProgramFiles (x86)% / Microsoft Visual Studio / Installer (use% ProgramFiles% en un programa de 32 bits antes de Windows 10). Esta es una ubicación fija que se mantendrá (como se indica here )
Esto permite a los desarrolladores consultar varias características importantes de una instalación de Visual Studio 2017 (y superior). Además, la herramienta fue diseñada para permitir la instalación de diferentes versiones de Visual Studio (Community Edition, Professional, ...) en la misma máquina.
Puedes encontrar varios ejemplos de uso here .
En cuanto al guión, la primera parte relevante.
call "$(DevEnvDir)../tools/vsdevcmd.bat"
editbin /largeaddressaware "$(TargetPath)"
Consulte la ruta de instalación de Visual Studio 2017 (versión 15.0) y establezca una variable denominada INSTALLPATH.
Cabe señalar que en un sistema operativo de 32 bits, debe usar% programfiles% en lugar de% programfiles (x86)%.
Debido a este issue , la secuencia de comandos guarda el directorio actual para su posterior recuperación.
El script luego procede a probar el contenido de la variable INSTALLPATH. Si la variable no está vacía , le agrega "Common7 / Tools / VsDevCmd.bat" (que es una ruta relativa bien conocida donde se pueden encontrar herramientas de desarrollo para la instalación de Visual Studio correspondiente). De lo contrario, la secuencia de comandos salta a un mensaje de error y se cierra (puede optar por devolver un código de error distinto de cero).
Si todo salió bien, ahora tiene a su disposición un completo entorno de desarrollo Visual Studio.
El script ahora procede a recuperar el directorio original y ejecutar algo, en este caso, una llamada ficticia a svcutil .
Simplemente cambia "vsvars32.bat" a "vsdevcmd.bat". Esto es compatible, al menos, de vuelta a VS2015.
@echo off
set INSTALLPATH=
if exist "%programfiles(x86)%/Microsoft Visual Studio/Installer/vswhere.exe" (
for /F "tokens=* USEBACKQ" %%F in (`"%programfiles(x86)%/Microsoft Visual Studio/Installer/vswhere.exe" -version 15.0 -property installationPath`) do set INSTALLPATH=%%F
)
echo INSTALLPATH is "%INSTALLPATH%"
REM Save current dir for later
pushd %CD%
if NOT "" == "%INSTALLPATH%" (
call "%INSTALLPATH%/Common7/Tools/VsDevCmd.bat"
) else (
goto ERROR_NO_VS15
)
:WORK
REM Retrieve the working dir and proceed
popd
echo Doing work in %CD%
svcutil this_is_just_an_example
goto END
:ERROR_NO_VS15
echo Visual Studio 2017 Tools Not Available!
:END
echo Processing ends.
Utilizo vcvars32.bat en pré-build (propiedades de proyecto-> eventos de compilación), así que para mí, he cambiado:
"$(DevEnvDir)../../VC/bin/vcvars32.bat"
a
$(DevEnvDir)/../Tools/VsDevCmd.bat"
y funciono!
VS2017 sufre de opciones de ubicación de ruta de instalación muy dañadas por el cerebro. Lo más tonto que hicieron es hacer que el nombre de la edición (Profesional, Empresa, probablemente Comunidad) sea parte del camino. Esto hace que sea bastante difícil encontrar herramientas de forma confiable de una máquina a otra.
Hay una variable de entorno que creo que puede resolver el problema, la variable VSAPPIDDIR
almacena la ruta a la carpeta donde está instalado el IDE (devenv.exe). Entonces, si desea ejecutar vcvars32.bat desde un evento de compilación, entonces usaría
call "%vsappiddir%../../VC/Auxiliary/Build/vcvars32.bat" x86
Tenga en cuenta que es vc, not vs, vsvars32.bat ya no existe. Posiblemente podría favorecer el "Símbolo del sistema del desarrollador":
call "%vsappiddir%../tools/vsdevcmd.bat"
Pero a juzgar por su enlace, realmente desea ejecutar la utilidad editbin.exe:
"%vsappiddir%../../VC/Tools/MSVC/14.10.25017/bin/HostX86/x86/editbin.exe" args...
El número de versión de 14.10.25017 tampoco es una alegría, ni una idea real de cómo cambiará eso de una actualización a la siguiente. Probablemente lo hará.