aspnetcore/build/_ngen-roslyn.shade

38 lines
1.8 KiB
Plaintext

var oldRoslynAssemblies='${new[] { "Microsoft.CodeAnalysis.CSharp",
"Microsoft.CodeAnalysis",
"System.Collections.Immutable",
"System.Reflection.Metadata.Ecma335",
"System.Reflection.Metadata" }}'
var roslynAssemblies='${new[] { "Microsoft.CodeAnalysis.CSharp",
"Microsoft.CodeAnalysis",
"System.Collections.Immutable",
"System.Reflection.Metadata" }}'
var programFilesX86='${Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)}'
var gacutil='${Path.Combine(programFilesX86, "Microsoft SDKs", "Windows", "v8.1A", "bin", "NETFX 4.5.1 Tools", "gacutil.exe")}'
var windir='${Environment.GetFolderPath(Environment.SpecialFolder.Windows)}'
var ngen='${Path.Combine(windir, "Microsoft.NET", "Framework", "v4.0.30319", "ngen.exe")}'
var tempRoslynPackagesDir='bin\_roslyn'
var tempRoslynDir='bin\_roslyn\all'
exec program='${gacutil}' commandline='/u ${p}' each='var p in oldRoslynAssemblies'
nuget-install package='Microsoft.CodeAnalysis.CSharp' outputDir='${tempRoslynPackagesDir}' extra='-pre -ExcludeVersion -nocache'
@{
var binaries = Files.Include(Path.Combine(tempRoslynPackagesDir, "**", "*net45*", "*.dll"));
Directory.CreateDirectory(tempRoslynDir);
foreach(var file in binaries)
{
File.Copy(file, Path.Combine(tempRoslynDir, Path.GetFileName(file)), true);
}
}
exec program='${ngen}' commandline='install ${tempRoslynDir}\${p}.dll' each='var p in roslynAssemblies'
exec program='${gacutil}' commandline='/i ${tempRoslynDir}\${p}.dll' each='var p in roslynAssemblies'
directory delete='${tempRoslynPackagesDir}'