TeamCity.dotCover/Program.cs (40 lines of code) (raw):

namespace TeamCity.dotCover; // ReSharper disable once ClassNeverInstantiated.Global internal class Program: IDisposable { public static int Main() { try { return Composer.ResolveProgram().Run(); } finally { Composer.FinalDispose(); } } private readonly IProcessRunner _processRunner; private readonly IConsole _console; internal Program( IProcessRunner processRunner, IConsole console) { _processRunner = processRunner; _console = console; } void IDisposable.Dispose() { _processRunner.Dispose(); } private int Run() { try { return _processRunner.Run(); } catch (ToolException toolException) { _console.WriteErrLine(toolException.Message); return 1; } } }