feat: scaffold P_Rec_Annot .NET 8 architecture
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
namespace PRecAnnot.Plant3D2026;
|
||||
|
||||
public sealed record Plant3D2026Availability(bool IsAvailable, string InstallDirectory, IReadOnlyList<string> MissingAssemblies)
|
||||
{
|
||||
public static Plant3D2026Availability Detect(string installDirectory)
|
||||
{
|
||||
var expected = new[] { "AcMgd.dll", "AcDbMgd.dll", "AcCoreMgd.dll", Path.Combine("PLNT3D", "PnPProjectManagerMgd.dll"), Path.Combine("PLNT3D", "PnPDataLinks.dll") };
|
||||
var missing = expected.Where(x => !File.Exists(Path.Combine(installDirectory, x))).ToArray();
|
||||
return new(missing.Length == 0, installDirectory, missing);
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class Plant3D2026BlockedException(Plant3D2026Availability availability)
|
||||
: InvalidOperationException($"Plant 3D 2026 assemblies are unavailable at '{availability.InstallDirectory}'. Missing: {string.Join(", ", availability.MissingAssemblies)}") { }
|
||||
Reference in New Issue
Block a user