diff --git a/src/Compilers/Core/MSBuildTask/AssemblyResolution.cs b/src/Compilers/Core/MSBuildTask/AssemblyResolution.cs index 80c03cb455a931f8641ac8cd24710fe34d5729a3..88a011d4a80bf5e63a6b819504b5e04483f5602e 100644 --- a/src/Compilers/Core/MSBuildTask/AssemblyResolution.cs +++ b/src/Compilers/Core/MSBuildTask/AssemblyResolution.cs @@ -54,6 +54,7 @@ private static bool TryRedirect(AssemblyName name) return TryRedirect(name, s_b03f5f7f11d50a3a, 4, 0, 2, 0); case "System.Diagnostics.StackTrace": + case "System.Security.AccessControl": return TryRedirect(name, s_b03f5f7f11d50a3a, 4, 0, 3, 0); } diff --git a/src/Compilers/Core/MSBuildTask/ValidateBootstrap.cs b/src/Compilers/Core/MSBuildTask/ValidateBootstrap.cs index 37a3e71e0388173015b734dae9a34456fb7ebfba..ead4e9a0b3f2f4292fba60261b663535120554df 100644 --- a/src/Compilers/Core/MSBuildTask/ValidateBootstrap.cs +++ b/src/Compilers/Core/MSBuildTask/ValidateBootstrap.cs @@ -92,9 +92,16 @@ private static string NormalizePath(string path) internal static void AddFailedLoad(AssemblyName name) { - if (Path.GetExtension(name.Name) != ".resources") + switch (name.Name) { - s_failedLoadSet.TryAdd(name, 0); + case "System": + case "System.Core": + case "Microsoft.Build.Tasks.CodeAnalysis.resources": + // These are failures are expected by design. + break; + default: + s_failedLoadSet.TryAdd(name, 0); + break; } } }