From 4381ef7c8232b28a46606928e72f5afb35dbeaca Mon Sep 17 00:00:00 2001 From: Konstantin Koch Date: Sat, 24 Oct 2015 18:58:08 +0200 Subject: [PATCH] Reduced the amount warnings that appear when a ContentProject is loaded. --- .../Nodes/ContentProjectReferenceContainer.cs | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/Visual Studio/ANXVisualStudioPackage/Nodes/ContentProjectReferenceContainer.cs b/Visual Studio/ANXVisualStudioPackage/Nodes/ContentProjectReferenceContainer.cs index 6dff93d1..ddac9d5e 100644 --- a/Visual Studio/ANXVisualStudioPackage/Nodes/ContentProjectReferenceContainer.cs +++ b/Visual Studio/ANXVisualStudioPackage/Nodes/ContentProjectReferenceContainer.cs @@ -278,7 +278,20 @@ namespace ANX.Framework.VisualStudio.Nodes foreach (var referenceEntry in allReferences) { - if (referenceEntry.AssemblyName != null && referenceEntry.AssemblyName.FullName == assemblyName.FullName && File.Exists(referenceEntry.Url)) + if (referenceEntry.AssemblyName == null || !File.Exists(referenceEntry.Url)) + continue; + + //Strong assembly name, try to do an exact match for these. + //If it hasn't a strong name, just match assemblies with the same name and don't care about the version. + if (referenceEntry.AssemblyName.GetPublicKey() != null) + { + if (referenceEntry.AssemblyName.FullName == assemblyName.FullName) + { + assemblyIdentifier = referenceEntry.Url; + break; + } + } + else if (referenceEntry.AssemblyName.Name == assemblyName.Name) { assemblyIdentifier = referenceEntry.Url; break; @@ -291,9 +304,6 @@ namespace ANX.Framework.VisualStudio.Nodes assemblyNamesAndPaths[name] = path; } - - var callback = new LoadAssembliesCallback(this); - buildDomain.Proxy.LoadProjectAssemblies(assemblyNamesAndPaths.Values, buildDomain.SearchPaths, buildDomain.Redirects, callback.ErrorCallback); } catch (Exception exc) { @@ -301,6 +311,17 @@ namespace ANX.Framework.VisualStudio.Nodes Console.WriteLine(exc.Message); } } + + try + { + var callback = new LoadAssembliesCallback(this); + buildDomain.Proxy.LoadProjectAssemblies(assemblyNamesAndPaths.Values, buildDomain.SearchPaths, buildDomain.Redirects, callback.ErrorCallback); + } + catch (Exception exc) + { + Debugger.Break(); + Console.WriteLine(exc.Message); + } } }); }