-
由 Rob LaDuca 提交于
PresentationCore used to have a module constructor that called SetProcessDpiAware. Now that DirectWriteForwarder has been split off from the C# piece of PresentationCore, this module constructor lives in DirectWriteForwarder. Due to this, the call is happening too late. To fix this, add a module constructor back into PresentationCore via IL Injection. * Adding InjectModuleInitializer initial targets. Initial targets copy over ILDAsm, ILAsm, and CoreCLR bits needed to form an ILTools directory. * Adding initial ILDAsm and ILAsm tasks and DLL assembly/disassembly targets. * Fixing call to ILAsm to ensure it builds a DLL. * Fixing up temp location for ILTools * Updating packages to be RID specific and to use the latest CoreCLR packages from the COreCLR feed. * Enabling debug in ILAsm so as to add back the Debuggable attribute. * Switch on or off the Debuggable attribute based on the build configuration. * Lifting inline tasks into their own code files and replacing the MSBuild based IL manipulation with C# code. * Removing test project changes * Fixing module constructor task to append to file. * Removing setting of RID property as it was affecting obj/bin layout. Fixing InjectModuleInitializer targets to use a local RID. * Fixing module constructor creation and adding an option to use .NET Framework or .NET Core ILAsm. This is because IL tools in .NET Core do not support debug info. * Adding basic comments. * Enabling module constructor injection for PresentationCore * Fixing missing semi-colon from merge * Creation of satellite assemblies uses PresentationCore.dll as a template to grab assembly attributes from. Reconstructing the DLL (and injecting the module initializer) is affecting this, so we move the injection to after construction of satellites. * Always instruct ILAsm to generate debug information, otherwise release won't have PDBs. * Adding GitHub issue links for IL Tools modifications. Adding exception handling for FindDotNetFrameworkILToolsTask Fixing architecture identification (using semantics from Wpf.Cpp.Props) * Replacing escaping with verbatim literals Adding returns for error conditions * Adding DARC dependencies. * Add coherent parents for IL(D)Asm * Coherency updates
222874b6