|
|
|
@ -57,40 +57,40 @@ namespace Avalonia.Build.Tasks |
|
|
|
{ |
|
|
|
try |
|
|
|
{ |
|
|
|
references = references.Where(r => !r.ToLowerInvariant().EndsWith("avalonia.build.tasks.dll")).ToArray(); |
|
|
|
var typeSystem = new CecilTypeSystem(references, input); |
|
|
|
var refTypeSystem = !string.IsNullOrWhiteSpace(refInput) && File.Exists(refInput) ? new CecilTypeSystem(references, refInput) : null; |
|
|
|
|
|
|
|
var asm = typeSystem.TargetAssemblyDefinition; |
|
|
|
var refAsm = refTypeSystem?.TargetAssemblyDefinition; |
|
|
|
if (!skipXamlCompilation) |
|
|
|
{ |
|
|
|
references = references.Where(r => !r.ToLowerInvariant().EndsWith("avalonia.build.tasks.dll")).ToArray(); |
|
|
|
var typeSystem = new CecilTypeSystem(references, input); |
|
|
|
var refTypeSystem = !string.IsNullOrWhiteSpace(refInput) && File.Exists(refInput) ? new CecilTypeSystem(references, refInput) : null; |
|
|
|
|
|
|
|
var asm = typeSystem.TargetAssemblyDefinition; |
|
|
|
var refAsm = refTypeSystem?.TargetAssemblyDefinition; |
|
|
|
if (!skipXamlCompilation) |
|
|
|
{ |
|
|
|
var compileRes = CompileCore(engine, typeSystem, projectDirectory, verifyIl, defaultCompileBindings, logImportance, debuggerLaunch); |
|
|
|
if (compileRes == null) |
|
|
|
return new CompileResult(true); |
|
|
|
if (compileRes == false) |
|
|
|
return new CompileResult(false); |
|
|
|
|
|
|
|
|
|
|
|
if (refTypeSystem is not null) |
|
|
|
{ |
|
|
|
var refCompileRes = CompileCoreForRefAssembly(engine, typeSystem, refTypeSystem); |
|
|
|
if (refCompileRes == false) |
|
|
|
return new CompileResult(false); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
var writerParameters = new WriterParameters { WriteSymbols = asm.MainModule.HasSymbols }; |
|
|
|
if (!string.IsNullOrWhiteSpace(strongNameKey)) |
|
|
|
var writerParameters = new WriterParameters { WriteSymbols = asm.MainModule.HasSymbols }; |
|
|
|
if (!string.IsNullOrWhiteSpace(strongNameKey)) |
|
|
|
writerParameters.StrongNameKeyBlob = File.ReadAllBytes(strongNameKey); |
|
|
|
|
|
|
|
asm.Write(output, writerParameters); |
|
|
|
|
|
|
|
var refWriterParameters = new WriterParameters { WriteSymbols = false }; |
|
|
|
if (!string.IsNullOrWhiteSpace(strongNameKey)) |
|
|
|
|
|
|
|
asm.Write(output, writerParameters); |
|
|
|
|
|
|
|
var refWriterParameters = new WriterParameters { WriteSymbols = false }; |
|
|
|
if (!string.IsNullOrWhiteSpace(strongNameKey)) |
|
|
|
writerParameters.StrongNameKeyBlob = File.ReadAllBytes(strongNameKey); |
|
|
|
refAsm?.Write(refOutput, refWriterParameters); |
|
|
|
|
|
|
|
return new CompileResult(true, true); |
|
|
|
refAsm?.Write(refOutput, refWriterParameters); |
|
|
|
|
|
|
|
return new CompileResult(true, true); |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
|