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

vic*_*age 2 .net c# msbuild build-automation batch-file

我试图通过点击按钮建立一个过程,我可以在那里进行以下活动.

目的

  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
Run Code Online (Sandbox Code Playgroud)

创建另一个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""
Run Code Online (Sandbox Code Playgroud)

创建了另一个cmd文件,可以从svn下载


TortoiseProc.exe /command:export /URL:[URL path] /Path:"C:/Automating/Demo"
Run Code Online (Sandbox Code Playgroud)

最后一个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);
}
Run Code Online (Sandbox Code Playgroud)

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

ole*_*sii 9

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

人们花了数年时间开发和抛光构建自动化工具.如果我是你,我会在那里停下来看看周围.

  • 为了公平对待这个家伙,没有什么能让你理解或欣赏一个工具,而不是试图自己创造:) (3认同)