Swallow errors while trying to load types.

This commit is contained in:
David Fowler 2014-01-26 03:38:24 -08:00
parent 2ea440609c
commit ea97108e76
1 changed files with 18 additions and 5 deletions

View File

@ -1,5 +1,7 @@
using System;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using Microsoft.AspNet.Abstractions;
using Microsoft.AspNet.DependencyInjection;
@ -23,15 +25,26 @@ namespace Microsoft.AspNet.Mvc
foreach (var a in AppDomain.CurrentDomain.GetAssemblies())
{
var type = a.GetType(controllerName) ??
a.GetType(a.GetName().Name + "." + controllerName);
try
{
var type = a.GetType(controllerName) ??
a.GetType(a.GetName().Name + "." + controllerName);
#if NET45
type = type ?? a.GetTypes().FirstOrDefault(t => t.Name.Equals(controllerName, StringComparison.OrdinalIgnoreCase));
type = type ?? a.GetTypes().FirstOrDefault(t => t.Name.Equals(controllerName, StringComparison.OrdinalIgnoreCase));
#endif
if (type != null)
if (type != null)
{
return ActivatorUtilities.CreateInstance(_serviceProvider, type);
}
}
catch (ReflectionTypeLoadException)
{
return ActivatorUtilities.CreateInstance(_serviceProvider, type);
// TODO: Trace here
}
catch (Exception)
{
// TODO: Trace here
}
}