【发布时间】:2012-06-14 18:18:54
【问题描述】:
我与 MEF 合作,我正在寻找如何通过 MEF 找到插件的另一种方式更改插件位置的 url,我想更改此行
Assembly.LoadFrom(@"C:\julia\project\project.Plugin.Nav\bin\Debug\NavPlugin.dll")));
我想删除这个网址,因为我需要在另一台机器上部署我的应用程序
这是我的功能:
public void AssembleCalculatorComponents()
{
try
{
//var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());
//var container = new CompositionContainer(catalog);
//container.ComposeParts(this);
var catalog = new AggregateCatalog();
catalog.Catalogs.Add(new AssemblyCatalog(Assembly.LoadFrom(@"C:\yosra\project\project.Plugin.Nav\bin\Debug\NavPlugin.dll")));
var container = new CompositionContainer(catalog);
container.ComposeParts(this);
}
catch (Exception ex)
{
throw ex;
}
}
你能帮帮我吗?
谢谢
【问题讨论】:
-
附带说明:你不应该在你的 catch 块中使用
throw ex;(这会“破坏”堆栈跟踪,即你将无法真正知道异常实际发生在哪里) .如果您想重新抛出异常,只需使用throw;(无需再次指定异常) - 或者如果您根本没有对异常做任何事情,就不要捕获异常!
标签: c# location mef .net-assembly