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; } = []; }