@@ -161,28 +161,36 @@ public void CheckCancellation() {
161161 /// Requests the current module to be written as mix-mode module, and return the native writer options.
162162 /// </summary>
163163 /// <returns>The native writer options.</returns>
164- public NativeModuleWriterOptions RequestNative ( ) {
164+ public NativeModuleWriterOptions RequestNative ( bool optimizeImageSize ) {
165165 if ( CurrentModule == null )
166166 return null ;
167167 if ( CurrentModuleWriterOptions == null )
168- CurrentModuleWriterOptions = new NativeModuleWriterOptions ( CurrentModule , true ) ;
169-
170- if ( CurrentModuleWriterOptions is NativeModuleWriterOptions )
171- return ( NativeModuleWriterOptions ) CurrentModuleWriterOptions ;
172- var newOptions = new NativeModuleWriterOptions ( CurrentModule , true ) ;
168+ CurrentModuleWriterOptions = new NativeModuleWriterOptions ( CurrentModule , optimizeImageSize ) ;
169+
173170 // Clone the current options to the new options
174- newOptions . AddCheckSum = CurrentModuleWriterOptions . AddCheckSum ;
175- newOptions . Cor20HeaderOptions = CurrentModuleWriterOptions . Cor20HeaderOptions ;
176- newOptions . Logger = CurrentModuleWriterOptions . Logger ;
177- newOptions . MetadataLogger = CurrentModuleWriterOptions . MetadataLogger ;
178- newOptions . MetadataOptions = CurrentModuleWriterOptions . MetadataOptions ;
179- newOptions . ModuleKind = CurrentModuleWriterOptions . ModuleKind ;
180- newOptions . PEHeadersOptions = CurrentModuleWriterOptions . PEHeadersOptions ;
181- newOptions . ShareMethodBodies = CurrentModuleWriterOptions . ShareMethodBodies ;
182- newOptions . DelaySign = CurrentModuleWriterOptions . DelaySign ;
183- newOptions . StrongNameKey = CurrentModuleWriterOptions . StrongNameKey ;
184- newOptions . StrongNamePublicKey = CurrentModuleWriterOptions . StrongNamePublicKey ;
185- newOptions . Win32Resources = CurrentModuleWriterOptions . Win32Resources ;
171+ var newOptions = new NativeModuleWriterOptions ( CurrentModule , optimizeImageSize ) {
172+ AddCheckSum = CurrentModuleWriterOptions . AddCheckSum ,
173+ AddMvidSection = CurrentModuleWriterOptions . AddMvidSection ,
174+ Cor20HeaderOptions = CurrentModuleWriterOptions . Cor20HeaderOptions ,
175+ GetPdbContentId = CurrentModuleWriterOptions . GetPdbContentId ,
176+ Logger = CurrentModuleWriterOptions . Logger ,
177+ MetadataLogger = CurrentModuleWriterOptions . MetadataLogger ,
178+ MetadataOptions = CurrentModuleWriterOptions . MetadataOptions ,
179+ ModuleKind = CurrentModuleWriterOptions . ModuleKind ,
180+ NoWin32Resources = CurrentModuleWriterOptions . NoWin32Resources ,
181+ PdbChecksumAlgorithm = CurrentModuleWriterOptions . PdbChecksumAlgorithm ,
182+ PdbFileName = CurrentModuleWriterOptions . PdbFileName ,
183+ PdbFileNameInDebugDirectory = CurrentModuleWriterOptions . PdbFileNameInDebugDirectory ,
184+ PdbOptions = CurrentModuleWriterOptions . PdbOptions ,
185+ PdbStream = CurrentModuleWriterOptions . PdbStream ,
186+ PEHeadersOptions = CurrentModuleWriterOptions . PEHeadersOptions ,
187+ ShareMethodBodies = CurrentModuleWriterOptions . ShareMethodBodies ,
188+ DelaySign = CurrentModuleWriterOptions . DelaySign ,
189+ StrongNameKey = CurrentModuleWriterOptions . StrongNameKey ,
190+ StrongNamePublicKey = CurrentModuleWriterOptions . StrongNamePublicKey ,
191+ Win32Resources = CurrentModuleWriterOptions . Win32Resources ,
192+ WritePdb = CurrentModuleWriterOptions . WritePdb ,
193+ } ;
186194 CurrentModuleWriterOptions = newOptions ;
187195 return newOptions ;
188196 }
0 commit comments