2

我尝试通过单击按钮建立一个流程,我可以在其中进行以下活动。

客观的

  1. 从 SVN 下载最新代码。
  2. 构建 2 组代码来创建 dll 和 exe- (a) 发布模式下的 Web 应用程序 (b) 调试模式下的独立应用程序
  3. 然后替换配置文件中的一些键值。
  4. 然后将它们放置到特定位置。

到目前为止遵循的步骤

创建了 demo.bat 文件,它将为 Standalone 构建 exe 和 dll,如下所示


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

创建另一个 bat 文件 demo1.bat 将命令提示符更改为 VS2010 cmd 提示符


%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"

最后是一个 Web 应用程序,用户可以单击按钮按照 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);
}

下载事件正常工作,但构建不工作。我需要有关如何构建代码的帮助

4

3 回答 3

9

为什么要重新发明轮子?使用可用的工具,例如TeamCitymsbuild(还有很多其他选择)。我发现尤金在这里做了一个很好的介绍。

人们花费了数年的时间来开发和完善构建自动化工具。如果我是你,我会停下来四处看看。

于 2013-05-07T16:40:04.417 回答
0

如果将 psi.UserShellExecute 设置为 false,则需要指定要执行的命令实际上是“cmd.exe”并且批处理文件是一个参数。您还必须管理发出请求与实际完成构建时间之间的延迟。

于 2013-05-07T16:19:02.643 回答
-1

使用自动热键可以轻松完成此类任务的自动化。要自动下载,您可以使用开始命令和您选择的浏览器类型 IE Firefox iexplore chrome ~ 然后您可以自动下载。但请注意,某些网站的页码可能会更改 IE。此地址具有指定的页面代码:

尝试通过用户单击自动化 C# 解决方案的构建过程

因此,无需将常规地址放入批次或您选择使用的任何内容中,您都可以放入

https://stackoverflow.com/questions/ ********

允许它找到信息

或者您可以使用鼠标/键盘记录器来自动执行任务。

于 2013-05-08T16:07:18.247 回答