Как создать решение с помощью batchfile

Я хочу создать решение.NET с помощью пакетного файла.

Я знаю, что должен использовать следующее утверждение

devenv /build release "D:\Source Code\Source\test.sln"

Но я не знаю, как создать пакетный файл, который выполнится на командной строке VS.

9
задан Ram 28 April 2010 в 12:52
поделиться

3 ответа

Командная строка Visual Studio просто загружает некоторые переменные и параметры пути. Вот и все, ничего особенного, это не другая командная строка, это та же командная строка с некоторыми настроенными параметрами. Вы можете загрузить те же настройки в свой собственный командный файл, включив следующую строку вверху:

call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86

(Очевидно, для разных версий VS путь может немного измениться)

Вы можете заменить «x86» на соответствующий архитектура для вашей машины. Допустимые значения:

  • x86
  • amd64
  • x64
  • ia64
  • x86_amd64
  • x86_ia64

Тем не менее, я не думаю, что вам действительно нужно загружать все переменные / пути все, что вам действительно нужно, - это указать полный путь к файлу devenv.exe . Вместо этого вы можете попробовать следующее:

"c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" /build release "D:\Source Code\Source\test.sln"

(Опять же, путь будет меняться для разных версий Visual Studio)

15
ответ дан 4 December 2019 в 10:03
поделиться

Не уверен, что понимаю вопрос.

Просто создайте файл с именем test.bat, добавьте в этот файл инструкцию, которую вы написали выше, а затем просто откройте командную строку VS и введите [pathtobatfile] \ test.bat.

1
ответ дан 4 December 2019 в 10:03
поделиться

Пример командного файла, приведенный ниже, определит установочный каталог, содержащий devenv.exe, путем поиска его в реестре (для VS2005 можно легко адаптировать для других версий) и запустит devenv.exe. Это то, что вы ищете?

@echo off

CALL :GETVS2005DIR
IF "%VS2005DIR%" == "" GOTO NOVS2005
IF NOT EXIST "%VS2005DIR%" GOTO NOVS2005

%VS2005DIR%devenv.exe ...
GOTO :EOF

:GETVS2005DIR
for /f "tokens=1,2* delims= " %%i in ('reg query HKLM\Software\Microsoft\VisualStudio\8.0 /v InstallDir') do set VS2005DIR=%%k
GOTO :EOF

:NOVS2005
echo.
echo Visual Studio 2005 installation directory not found
echo.
GOTO :EOF

Также обратите внимание, что если ваше решение не содержит проект установки, вы обычно сможете собрать его с помощью MSBUILD, который проще и работает на машине без установленной Visual Studio. :

REM Check MsBuild is available (this is for V2.0, use a different version if desired)
SET MSBUILD=%WINDIR%\Microsoft.NET\Framework\v2.0.50727\MsBuild.exe
IF NOT EXIST "%MSBUILD%" GOTO NOMSB

"%MSBUILD%" MySolution.sln /t:rebuild /p:configuration=Debug /verbosity:quiet 
GOTO :EOF

:NOMSB
echo. 
echo MSBUILD not found 
echo. 
GOTO :EOF 
5
ответ дан 4 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: