/* Copyright (C) 2014-2019 de4dot@gmail.com This file is part of dnSpy dnSpy is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. dnSpy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with dnSpy. If not, see . */ using System; namespace dnSpy.Contracts.Debugger.DotNet.CorDebug { /// /// Debugging options that will start and debug an application when passed to . /// This is used to debug .NET assemblies. /// public sealed class DotNetStartDebuggingOptions : CorDebugStartDebuggingOptions { /// /// If true, use (eg. dotnet.exe). If false, /// isn't used and should be /// a native executable (eg. a renamed apphost.exe) that knows how to start the runtime. /// public bool UseHost { get; set; } = true; /// /// Path to host (eg. dotnet.exe) or null if dnSpy should try to find dotnet.exe /// public string? Host { get; set; } /// /// Host arguments (eg. "exec" if .NET's dotnet.exe is used) /// public string? HostArguments { get; set; } /// /// Clones this instance /// /// public override DebugProgramOptions Clone() => CopyTo(new DotNetStartDebuggingOptions()); /// /// Copies this instance to and returns it /// /// Destination /// public DotNetStartDebuggingOptions CopyTo(DotNetStartDebuggingOptions other) { if (other is null) throw new ArgumentNullException(nameof(other)); base.CopyTo(other); other.UseHost = UseHost; other.Host = Host; other.HostArguments = HostArguments; return other; } } }