Automate Builds in .net

2019-05-21 02:45发布

问题:

I have a solution sln, with 50 projects (vbproj, csproj, and setup project).

I need automatize Build of all solution, and projects (set of projects of solution folder), and setup project (vdproj).

My vdproj (setup project) has Post Build Event..

First, how can I automatize build for vdproj ?? I only can execute a command for build it in release and the copy Outputs (setup.exe, *.msi) to another folder.

回答1:

There are number of application which can help you to make automatic build, e.g. Cruise Control.

Additionally, you can create your own by using the MSBUILD.EXE, that is part of Windows SDK.



回答2:

Are you using Visual Studio? If so, you can call the IDE "devenv.exe" with command line parameters in a batch file, for example

devenv.exe YourSolution.sln /build "Release" /out Build.log

(devenv.exe is located in the folder Common7\IDE\ of your VS installation).



回答3:

Use TeamCity it is a best tool on the market and have a free Professional License. From creators of ReSharper - http://www.jetbrains.com .

We use TeamCity about 2 years without any problems for really BIG projects.

As for vdproj you can build it via msbuild just google that, we for example use WiX for such a thing.



回答4:

If you have extra cash to spare, you can try Final Builder or Automated Build Studio. Both are GUI based build tools, which means you don't have to write a lot of scripts for mundane tasks.



回答5:

Hi all,

is the same use devenv than msbuild ??

1.)

devenv.exe YourSolution.sln /build "Release" /out Build.log
2.)

@echo off SET EXEC="C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe" %EXEC% ....\ExpedienteElectronico.sln /t:Rebuild /p:Configuration=Release
pause

It is not the same. devenv is able to process vdproj files where as msbuild cannot deal with this project type.