namespace ReCodeIt.Models;
public class CrossCompilerProjectModel
{
#region REQUIRED_ON_CREATION
///
/// The path of the original assembly
///
/// (Required on creation)
///
public string OriginalAssemblyPath { get; set; }
///
/// The path to the working directory vs project
///
/// (Required on creation)
///
public string VisualStudioSolutionPath { get; set; }
///
/// The path to the dependency folder for the active solution. Also where the remapped dll is
/// built to and replaced
///
/// (Required on creation)
///
public string VisualStudioDependencyPath { get; set; }
///
/// This is where the final dll is built to
///
/// (Required on creation)
///
public string BuildDirectory { get; set; }
#endregion REQUIRED_ON_CREATION
///
/// The path to the working directory vs project
///
public string VisualStudioSolutionDirectoryPath => Path.GetDirectoryName(VisualStudioSolutionPath)!;
public string ProjectDllName => SolutionName.Replace(".sln", ".dll");
public string OriginalAssemblyDllName => Path.GetFileName(OriginalAssemblyPath);
///
/// Name of the solution
///
public string SolutionName => Path.GetFileName(VisualStudioSolutionPath);
///
/// Remapped output hash
///
public string OriginalAssemblyHash { get; set; }
///
/// Remapped output hash
///
public string RemappedAssemblyHash { get; set; }
///
/// Key: Remapped name, value: old name
///
public Dictionary ChangedTypes { get; set; } = [];
///
/// Remap models used on this project
///
public List RemapModels { get; set; } = [];
}