本文整理汇总了C#中System.Resolver.LoadDynamicAssemblies方法的典型用法代码示例。如果您正苦于以下问题:C# Resolver.LoadDynamicAssemblies方法的具体用法?C# Resolver.LoadDynamicAssemblies怎么用?C# Resolver.LoadDynamicAssemblies使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Resolver
的用法示例。
在下文中一共展示了Resolver.LoadDynamicAssemblies方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: using
async void IIsolatedRunner.Run()
{
try
{
using (_cancellationTokenSource = new CancellationTokenSource())
{
IResolver resolver = new Resolver(new[] {"CH.IoC."});
var directories = AppDomain.CurrentDomain.SetupInformation.PrivateBinPath.Split(Path.PathSeparator);
resolver.LoadDynamicAssemblies(directories);
var log = resolver.Resolve<ILog>();
log.Log(1, "IsolatedRunner 1");
Type isolatedType;
try
{
isolatedType = AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(x => x.GetTypes())
.FirstOrDefault(
t =>
!t.IsInterface &&
t.GetInterface(typeof (IIsolated).FullName) != null);
}
catch (Exception ex)
{
log.Log(2, "IsolatedRunner 5: " + ex);
return;
}
if (isolatedType == null)
{
log.Log(2,
"IsolatedRunner 2: Isolated type not found in any of: " +
AppDomain.CurrentDomain.SetupInformation.PrivateBinPath);
return;
}
Debug.WriteLine("IsolatedRunner 9 Running: " + isolatedType.AssemblyQualifiedName);
var instance = isolatedType.Assembly.CreateInstance(isolatedType.FullName);
var isolated = (IIsolated) instance;
if (isolated == null)
{
log.Log(2, "IsolatedRunner 3: Isolated type not found: " + isolatedType.AssemblyQualifiedName);
return;
}
try
{
Debug.WriteLine("IsolatedRunner 6: Before Run");
await isolated.Run(_cancellationTokenSource.Token);
Debug.WriteLine("IsolatedRunner 7: After Run");
}
catch (Exception ex)
{
log.Log(2, "IsolatedRunner 4: " + ex);
}
Debug.WriteLine("IsolatedRunner 8: After Run Catch");
}
}
catch (Exception ex)
{
Debug.WriteLine("IIsolatedRunner.Run: " + ex);
}
_cancellationTokenSource = null;
}