我正在用 C# 编写一个剪贴板/图像上传工具,其中一个组合键会例如制作屏幕截图,然后将图像发送到插件,然后插件处理 URL 的上传和返回。
现在,这些插件需要保存设置,并且这些设置需要在我的应用程序中可编辑,所以我想我会使用我前段时间编写的数据保存类,并将该类的初始化实例的引用传递给插件。
想法是将整个类放入一个包含中,插件编写者可以将其包含在他们的项目中以处理数据,但是尽管插件和主应用程序都使用完全相同的代码,但我得到一个关于版本不同的错误,即:
{"[A]CedInc.Persistence.XMLPersistenceDictionary.savenode 不能转换为 [B]CedInc.Persistence.XMLPersistenceDictionary.savenode。类型 A 源自 'CloudBoard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'上下文 'Default' 在位置 'C:\git\CloudBoard\CloudBoard\bin\Debug\CloudBoard.exe'。类型 B 源自 'CloudBoard FTP 上传插件,版本 = 1.0.0.0,文化 = 中性,PublicKeyToken = null'位置 'C:\git\CloudBoard\CloudBoard\bin\Debug\plugins\CloudBoard FTP 上传 plugin.dll' 的上下文 'LoadFrom'。"}
我的问题是:是否可以将自定义类的实例传递给插件,而不必将其放入程序集中以由插件本身加载?如果是这样,如何?欢迎任何想法/建议!我有点卡在这里。