Я попытался установить процесс с помощью кнопки щелчка, где я могу выполнять следующие действия.Попробуйте автоматизировать процесс сборки для решения C# с помощью пользователя.
Цель
- Скачать последнюю версию кода из SVN.
- Построить 2 набора кодов для создания и библиотек в совершаю- (а) веб-приложения в режиме выпуска (б) Отдельное приложение в режиме отладки
- Затем замените некоторые значения ключей в файлах конфигурация.
- Затем поместите их в определенное место.
Выполняемые до сих пор
Created demo.bat файл, который будет строить EXE и DLL-библиотеки для Standalone, как показано ниже
REM * ============================Starting Setup for Standalone======================================
SET Folder= C:\Automating\Application\Source\StandaloneApp\
cd %Folder%App1
msbuild /property:Configuration=Debug App1.csproj /t:clean /t:build
cd %Folder%App2
msbuild /property:Configuration=Debug App2.csproj /t:clean /t:build
del /F /S /Q /A %Folder%Setup\*.*
XCOPY %Folder%App1\bin\Debug\*.* %Folder%Setup\*.* /S /Y /F /Q
XCOPY %Folder%App2\bin\Debug\*.* %Folder%Setup\*.* /S /Y /F /Q
Created другой летучей мыши файл demo1.bat, чтобы изменить команду запрос VS2010 cmd prompt
%comspec% /k ""c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86
%comspec% /k ""C:\Automating\BuildAuto\BuildAutomation\demo.bat""
Создано более одного CMD файлов для загрузки из SVN
TortoiseProc.exe /command:export /URL:[URL path] /Path:"C:/Automating/Demo"
Наконец Веб-приложение, в котором от пользователя можно нажать кнопку для загрузки в соответствии с svnExport.bat и построить загруженный код как на demo1.bat
.
protected void Button2_Click(object sender, EventArgs e) {
ProcessStartInfo psi = new ProcessStartInfo(@"C:\AutomatingPOC\BuildAuto\BuildAutomation\demo1.bat");
psi.UseShellExecute = false;
psi.RedirectStandardOutput = false;
psi.CreateNoWindow = false;
Process.Start(psi);
}
Загрузка события работают правильно, но строить не работают. Мне нужна помощь в том, как мне создать код
Я старался следить за тем, что вы говорите. Ниже приведено изменение кода для события. Но процесс сборки еще не запущен из-за этого ProcessStartInfo psi = new ProcessStartInfo (@ "C: \ AutomatingPOC \ BuildAuto \ BuildAutomation \ demo1.bat"); psi.UseShellExecute = false; psi.RedirectStandardOutput = false; psi.CreateNoWindow = false; psi.Arguments = @ "% comspec%/k C: \ AutomatingPOC \ BuildAuto \ BuildAutomation \ demo.bat"; Process.Start (psi); – vicage
Нет, вы что-то пропустили. Понимайте разницу между процессом, который вы хотите запустить, и аргументами этого процесса. Судя по этому коду, вы не совсем понимаете, почему вы строите или заполняете ProcessStartInfo так, как вы. http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.aspx –
@vicage, вероятно, это проблема с правами доступа. Вам необходимо предоставить специальные разрешения пользователю (под которым выполняется веб-приложение) для выполнения кода. По умолчанию вы не можете этого сделать из-за проблемы с безопасностью. Попробуйте запустить пустую командную строку и посмотрите, работает ли она. – oleksii