将对象从dll传递给exe

时间:2014-09-19 11:18:14

标签: c# wpf dll enterprise-architect

我正在编写EA Addin和AFAIR我必须注册COM,但这意味着我需要dll。但我在WPF中有正常的应用程序,我想分开启动Addin和exe。我想EA使用我的dll启动我的主应用,但我不知道如何将Repository对象从dll传递到我的应用,你有什么建议吗?或者甚至我将dll和exe分开的想法是错误的?

2 个答案:

答案 0 :(得分:1)

EA加载项必须是DLL。

如果您只想要加载项,则启动另一个应用程序,这很简单:只需进行适当的系统调用即可。不是将存储库传递给应用程序,而是传递Repository.ConnectionString并让应用程序使用Repository.OpenFile()打开它。

答案 1 :(得分:1)

我以其他非常简单的方式解决了我的问题。我的解决方案DLL和EXE中有两个项目。当我单击menuItem时,DLL执行以下命令:

var app = new App();
app.InitializeComponent();
app.Run();
Window1.Repository = _repository; //I know static field is bad, but this is only example

它的工作;)