• R
    Inject Module Constructor into PCore (#741) · 222874b6
    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
NuGet.config 1.2 KB