Skip to content

Task : Build a Compatibility layer for ADC 2027 while maintaining backward compatibility for 15x-17x #3264

@tay0thman

Description

@tay0thman

Fix: Three-Tier Fallback Architecture in adc.py This is related to issue #3089 reported by a user upgraded ADC to 2027

Tier 1 — Public API (ADC v2027+)

  • Loads Autodesk.DesktopConnector.API.Public.dll
  • Pre-loads WCF assemblies from FOS\Client\SDK + NuGet cache
  • Registers AssemblyResolve handler for System.ServiceModel v4.0.0.0
  • Currently fails due to NetNamedPipeBinding type not in facade assembly
  • Future-proof: if Autodesk fixes the DLL, this tier will start working automatically

Tier 2 — Legacy API (ADC v15–v17)

  • Loads from FOS\AddInProcess\Civil3DOE (Revit 2025+) or root (Revit 2023/2024)
  • Tests DesktopConnectorService() instantiation during load
  • Full file-level operations (lock, unlock, sync, properties)
  • Only attempted when Public API DLL is absent (exclusive elif — prevents WCF AppDomain poisoning)

Tier 3 — Legacy API (ADC v15–v17)

  • Detects ADC tray process via Process.GetProcesses()
  • Scans workspace roots: %USERPROFILE%\DC\ACCDocs, %USERPROFILE%\ACCDocs\
  • Parses cloud path schema (Autodesk Forma://org/project/path)
  • Resolves to local file by walking workspace directories
  • Lock/unlock/sync degrade to no-ops (ADC handles sync at OS level)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions