Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Karlaš <david.karlas@xamarin.com>2016-11-30 17:57:07 +0300
committerDavid Karlaš <david.karlas@xamarin.com>2016-11-30 17:57:49 +0300
commitca287231cfe2d122fa55081964b6fbc3f6fae77a (patch)
treeeb5a575f395404a78f57712fb0b220e30a78cf3b /main/src/addins/TextTemplating
parent8f658e39b8545963ae196c88ff4e71f28caa72cc (diff)
Bug 41738 - The 'TextTemplatingFileGenerator' code generator crashed: Object reference not set to an instance of an object
Diffstat (limited to 'main/src/addins/TextTemplating')
-rw-r--r--main/src/addins/TextTemplating/Mono.TextTemplating/Mono.TextTemplating/TemplatingEngine.cs18
1 files changed, 9 insertions, 9 deletions
diff --git a/main/src/addins/TextTemplating/Mono.TextTemplating/Mono.TextTemplating/TemplatingEngine.cs b/main/src/addins/TextTemplating/Mono.TextTemplating/Mono.TextTemplating/TemplatingEngine.cs
index 7672696a6b..bac0fd4ec0 100644
--- a/main/src/addins/TextTemplating/Mono.TextTemplating/Mono.TextTemplating/TemplatingEngine.cs
+++ b/main/src/addins/TextTemplating/Mono.TextTemplating/Mono.TextTemplating/TemplatingEngine.cs
@@ -173,24 +173,24 @@ namespace Mono.TextTemplating
pars.CompilerOptions = "/noconfig " + pars.CompilerOptions;
return settings.Provider.CompileAssemblyFromDom (pars, ccu);
}
-
- static HashSet<string> ProcessReferences (ITextTemplatingEngineHost host, ParsedTemplate pt, TemplateSettings settings)
+
+ static string [] ProcessReferences (ITextTemplatingEngineHost host, ParsedTemplate pt, TemplateSettings settings)
{
- var resolved = new HashSet<string> ();
-
+ var resolved = new Dictionary<string, string> ();
+
foreach (string assem in settings.Assemblies.Union (host.StandardAssemblyReferences)) {
- if (resolved.Contains (assem))
+ if (resolved.Values.Contains (assem))
continue;
-
+
string resolvedAssem = host.ResolveAssemblyReference (assem);
- if (!string.IsNullOrEmpty (resolvedAssem)) {
- resolved.Add (resolvedAssem);
+ if (!string.IsNullOrEmpty (resolvedAssem) && File.Exists (resolvedAssem)) {
+ resolved [AssemblyName.GetAssemblyName (resolvedAssem).FullName] = resolvedAssem;
} else {
pt.LogError ("Could not resolve assembly reference '" + assem + "'");
return null;
}
}
- return resolved;
+ return resolved.Values.ToArray ();
}
public static TemplateSettings GetSettings (ITextTemplatingEngineHost host, ParsedTemplate pt)