Background
WinMDExp wraps the Windows Runtime metadata exporter winmdexp.exe to produce .winmd files from a managed assembly. As a ToolTask, its process launch and timestamp probes must move to TaskEnvironment.
Migration scope
Known complexity factors
- ToolTask base — process invocation routes through
TaskEnvironment.GetProcessStartInfo()
- Up-to-date check uses
NativeMethodsShared.GetLastWriteFileUtcTime on multiple paths — must be absolute
- Sets
[Output] OutputWindowsMetadataFile derived from input — preserve original spec (Sin 1)
- Windows-only feature
Exit criteria
References
Background
WinMDExpwraps the Windows Runtime metadata exporterwinmdexp.exeto produce.winmdfiles from a managed assembly. As aToolTask, its process launch and timestamp probes must move toTaskEnvironment.Migration scope
[MSBuildMultiThreadableTask]IMultiThreadableTaskTaskEnvironment.GetAbsolutePath()for: WinMDModule, References items, OutputWindowsMetadataFile, OutputDocumentationFile, InputDocumentationFile, InputPDBFile, OutputPDBFile, SdkToolsPath, ToolPathTaskEnvironment.GetEnvironmentVariable()for: any SDK lookup fallbacks (reviewGenerateFullPathToTool)TaskEnvironment.GetProcessStartInfo()for: winmdexp.exe invocationKnown complexity factors
TaskEnvironment.GetProcessStartInfo()NativeMethodsShared.GetLastWriteFileUtcTimeon multiple paths — must be absolute[Output]OutputWindowsMetadataFilederived from input — preserve original spec (Sin 1)Exit criteria
References