diff --git a/src/Tools/SignRoslyn/BinaryData.json b/src/Tools/SignRoslyn/BinaryData.json index 81b4b58a01b9eadaa28f7447db769da8732b73ae..f36baafa26700bf7cd1d422aaa23778d00fb5d3e 100644 --- a/src/Tools/SignRoslyn/BinaryData.json +++ b/src/Tools/SignRoslyn/BinaryData.json @@ -45,7 +45,6 @@ "Microsoft.VisualStudio.VisualBasic.Repl.dll", "Microsoft.VisualStudio.VsInteractiveWindow.dll", "Pdb2Xml.exe", - "Roslyn.VisualStudio.Setup.Interactive.dll", "Roslyn.Compilers.Extension.dll", "Roslyn.Hosting.Diagnostics.dll", "Roslyn.VisualStudio.DiagnosticsWindow.dll", diff --git a/src/Tools/SignRoslyn/Program.cs b/src/Tools/SignRoslyn/Program.cs index 5e8a243709a162f0efe3a18750893a778a840605..e083b198d4062f2a96326c54c471f620c4276d7e 100644 --- a/src/Tools/SignRoslyn/Program.cs +++ b/src/Tools/SignRoslyn/Program.cs @@ -37,15 +37,29 @@ internal static SignData ReadSignData(string rootBinaryPath) var serializer = new JsonSerializer(); var fileJson = (Json.FileJson)serializer.Deserialize(file, typeof(Json.FileJson)); var map = new Dictionary(); + var allGood = false; foreach (var item in fileJson.SignList) { var data = new FileSignData(certificate: item.Certificate, strongName: item.StrongName); foreach (var name in item.FileList) { - map.Add(name, data); + if (map.ContainsKey(name)) + { + Console.WriteLine($"Duplicate file entry: {name}"); + allGood = false; + } + else + { + map.Add(name, data); + } } } + if (!allGood) + { + Environment.Exit(1); + } + return new SignData(rootBinaryPath, map, fileJson.ExcludeList); } }