English 中文(简体)
我如何在议会之间通过提及共同的DLL?
原标题:How can I pass a reference type between Assemblies referencing a common DLL?

高级别: 我正试图建造一个灯光(例如,ConsoleApp.exe),能够就任何特定的《刑法》进行某些处理,而《刑法》中提到了《公约》规定的某种类型。

我决定,也许会错误地认为,我需要一个附件DL,用于康塞洛尔阿普,其中含有拟由阿尔比勒·德拉斯提来的那类或几类(例如康塞罗群岛)。 为了拉开这段话,因为我不知道有更好的办法,我在康索尔阿普解决方案中有两个项目,一个是班级图书馆(Proving ConsoleApp.dll),另一个是参考班级图书馆项目的青少年申请。

此时此刻,我现在能够以单独的解决办法(例如,App.dll)向另一个相对无关的项目复印我的ConsoleApp.dll,并书写一种将ConsoleClasse用作参数的方法。

现在,为了武断地处理这一其他申请,康塞罗奥尔App.exe将大会的工作量推到大会的适当类别,然后将适当的方法称作这一方面。 下面的切题有望为我如何做到这一点提供背景:

Assembly.LoadFrom(path_to_OtherApp_dll);
...
var x = (dynamic)Activator.CreateInstance(type_inside_OtherApp_dll);
...
var instance = new ConsoleClass();
x.some_method_call(instance);

这最终是失败的。 似乎是因为尽管这两个项目(ConsoleApp.exe和其他App.dll)将相同的DL指向ConsoleClas,但操作时间仍然认为这些是不同的。

任何想法?

最佳回答

是的,当ConsoleApp.dll两次装满时,就会发生这种情况。 一次由主人使用其当地文本,再次用原始材料。 某类特性由装满的组装确定。

这对我来说是清楚的。 你们首批选择的武器是Fuslogvw.exe,将其 up成所有约束物。 首先要做的是,对原始项目进行博士研究,并将康塞罗尔App.dll的当地财产作为法尔语,这样就可以意外使用额外的复制件。

将原始的DLLs制成主要建筑套件,是永无止境的解决办法,你可以带上大会。 Load(a)。 或使用<代码><probing>要素的汇辑子,以便《南极海生委》能够找到。

问题回答
  1. Define the public interface. Put it to its own interface.dll.
  2. Reference interface.dll in your plugin. Let the main class in your plugin.dll implements your interface.
  3. Reference interface.dll in your exe.
  4. Use Assembly.Load() or Assembly.LoadFrom() to load plugin into your exe.
  5. Use CreateInstance() to create instance of your plugin class.
  6. Simply cast created plugin to your interface type.

因此,你不需要“动力”或其他复杂的东西。 简便,正如我所写的,一步步走了一步,它将奏效。 Good luck.

你们“认为自己是异构体”什么? 除了一些错误之外,是否定点结束? x变量中的方法是否得到它不承认的东西或什么?





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签