Background
UnregisterAssembly reverses RegisterAssembly by unregistering managed assemblies and their type libraries from COM. Like its counterpart, it is AppDomainIsolatedTaskExtension, gated on NETFRAMEWORK && FEATURE_APPDOMAIN.
Migration scope
Known complexity factors
- AppDomain isolation;
TaskEnvironment must cross the AppDomain boundary
- Native COM unregistration; mutates registry (
TYPE_E_REGISTRYACCESS handling)
- NETFRAMEWORK-only — multithreaded mode unlikely to ever exercise this code
- Globally serialized in practice due to registry mutation
Exit criteria
References
Background
UnregisterAssemblyreversesRegisterAssemblyby unregistering managed assemblies and their type libraries from COM. Like its counterpart, it isAppDomainIsolatedTaskExtension, gated onNETFRAMEWORK && FEATURE_APPDOMAIN.Migration scope
[MSBuildMultiThreadableTask](defensive)IMultiThreadableTaskonly if reachable from a multithreaded hostTaskEnvironment.GetAbsolutePath()for: Assemblies items, TypeLibFiles items, AssemblyListFileTaskEnvironment.GetEnvironmentVariable()for: N/ATaskEnvironment.GetProcessStartInfo()for: N/AKnown complexity factors
TaskEnvironmentmust cross the AppDomain boundaryTYPE_E_REGISTRYACCESShandling)Exit criteria
References