CS7069-lib.dll \
CS8009-lib.dll \
CSFriendAssembly-lib.dll \
- dlls/first/CS1703-lib.dll dlls/first/CS1704-lib.dll \
- dlls/second/CS1703-lib.dll dlls/second/CS1704-lib.dll
+ dlls/first/CS1704-lib.dll \
+ dlls/second/CS1704-lib.dll
-include $(mcs_topdir)/build/config.make
// CS1703: An assembly `System' with the same identity has already been imported. Consider removing one of the references
// Line: 0
-// Compiler options: -r:../class/lib/build/System.dll
+// Compiler options: -r:../../external/binary-reference-assemblies/v2.0/System.dll
return null;
}
- if ((an.Flags & AssemblyNameFlags.PublicKey) == (loaded_name.Flags & AssemblyNameFlags.PublicKey)) {
- compiler.Report.SymbolRelatedToPreviousError (entry.Item2);
- compiler.Report.SymbolRelatedToPreviousError (fileName);
- compiler.Report.Error (1703,
- "An assembly `{0}' with the same identity has already been imported. Consider removing one of the references",
- an.Name);
- return null;
+ AssemblyComparisonResult result;
+ if ((an.Flags & AssemblyNameFlags.PublicKey) == (loaded_name.Flags & AssemblyNameFlags.PublicKey) &&
+ (domain.CompareAssemblyIdentity (an.FullName, false, loaded_name.FullName, false, out result))) {
+
+ //
+ // Roslyn is much more lenient than native compiler here
+ //
+ switch (result) {
+ case AssemblyComparisonResult.EquivalentFXUnified:
+ case AssemblyComparisonResult.EquivalentUnified:
+ compiler.Report.SymbolRelatedToPreviousError (entry.Item2);
+ compiler.Report.SymbolRelatedToPreviousError (fileName);
+ compiler.Report.Error (1703,
+ "An assembly `{0}' with the same identity has already been imported. Consider removing one of the references",
+ an.Name);
+ return null;
+ }
}
}