Я хочу создать решение.NET с помощью пакетного файла.
Я знаю, что должен использовать следующее утверждение
devenv /build release "D:\Source Code\Source\test.sln"
Но я не знаю, как создать пакетный файл, который выполнится на командной строке VS.
Командная строка Visual Studio просто загружает некоторые переменные и параметры пути. Вот и все, ничего особенного, это не другая командная строка, это та же командная строка с некоторыми настроенными параметрами. Вы можете загрузить те же настройки в свой собственный командный файл, включив следующую строку вверху:
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
(Очевидно, для разных версий VS путь может немного измениться)
Вы можете заменить «x86» на соответствующий архитектура для вашей машины. Допустимые значения:
Тем не менее, я не думаю, что вам действительно нужно загружать все переменные / пути все, что вам действительно нужно, - это указать полный путь к файлу devenv.exe
. Вместо этого вы можете попробовать следующее:
"c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" /build release "D:\Source Code\Source\test.sln"
(Опять же, путь будет меняться для разных версий Visual Studio)
Не уверен, что понимаю вопрос.
Просто создайте файл с именем test.bat, добавьте в этот файл инструкцию, которую вы написали выше, а затем просто откройте командную строку VS и введите [pathtobatfile] \ test.bat.
Пример командного файла, приведенный ниже, определит установочный каталог, содержащий 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