问题标签 [system.addin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1114 浏览

c# - System.Addin & ClickOnce

使用带有 ClickOnce 的 System.Addins API 时,我有一个烦人的构建过程。使用 System.Addins 需要特定的目录结构,并且主项目不直接引用适配器、视图和合同,这与 ClickOnce 架构不能很好地配合。

构建过程令人讨厌的部分是我必须通过构建后事件将加载项组件中的 .dll 复制到主应用程序项目的目录中,然后从主项目手动引用这些文件,以便 ClickOnce将包括他们。首先,这需要 2 次构建迭代才能正确构建,其次,它会干扰源代码管理(我必须从源代码管理中排除复制的加载项 dll 文件,否则对它们所做的任何更改都需要签出)。

所以,我的问题是,有没有办法绕过这个黑客?更优雅的东西?

0 投票
2 回答
456 浏览

c# - 检测使用 System.Addin 制作的插件时出现问题

我正在使用 System.Addin 为我的应用程序的一小部分创建插件。我目前有两个不同的插件,它们都被正确检测和初始化。我什至可以复制和粘贴创建的插件文件夹,我也会看到它们出现。

当我在调试和发布文件夹中玩耍时,一切都很好。当我尝试将其中一个插件放入安装应用程序的插件文件夹时,问题就出现了。复制的插件永远不会被检测到,即使合约、视图或适配器中没有任何变化。

我尝试从不同安装的软件版本(其中合同仍然相同)复制和粘贴插件。

我发现完成这项工作的唯一方法是复制与插件架构相关的所有文件夹: AddIns AddInSideAdapters AddInViews Contracts HostSideAdapters HostView.dll

我猜想复制所有这些 dll 有点违背插件的目的。

新的 System.AddIn 是否有其他人有这些问题?

编辑:插件是使用管道构建器工具创建的

0 投票
2 回答
3411 浏览

wpf - 在一个 UI 线程上跨多个 AppDomain 运行 WPF 有什么问题?

我们正在考虑创建一个跨多个 AppDomain 运行的 WPF UI。其中一个应用程序域将运行应用程序,而其余的 AppDomains 将托管一系列用户控件和逻辑。当然,这个想法是将这些用户控件和逻辑从主应用程序中分离出来。

是使用 MAF/System.AddIn 执行此操作的示例。其他人在这方面有什么经验?此解决方案如何处理可能发生在一个用户控件内的 RoutedEvents/Commands,以及这些是否在 AppDomains 中正确序列化?WPF 资源呢?可以跨 AppDomain 无缝访问它们吗?

0 投票
7 回答
49923 浏览

.net - 在 MEF 和 MAF 之间进行选择(System.AddIn)

Managed Extensibility Framework (MEF) 和 Managed AddIn Framework (MAF, aka System.AddIn) 似乎完成了非常相似的任务。根据这个 Stack Overflow 问题,MEF 是 System.Addin 的替代品吗?,您甚至可以同时使用两者。

您什么时候选择使用其中一个?在什么情况下你会选择两者一起使用?

0 投票
2 回答
560 浏览

.net - MAF (System.AddIn) 中的插件可以有构造函数参数吗?

我需要将配置设置传递给使用托管插件框架(MAF,又名 System.AddIn)创建的插件。可以在 AddIn 的构造函数中放置一个设置参数吗?

另一种选择是创建一个 Initialize() 方法,但是我必须记住在使用 AddIn 进行任何工作之前调用它。

0 投票
1 回答
1319 浏览

c# - System.AddIn in WCF

I have a question about use AddIn framework, provided by .NET Framework (currently use 3.5 SP1) implemented in System.AddIn namespace. I build a prototype with simple AddIn. This AddIn is instantiated in business logic of WCF Service.

Implementation of business logic (only necessary code is shown):

Implementation of service (only necessary code is shown):

I created two Unit tests. One call direct method of business logic, other one WCF method. Direct call works fine, but if I activate AddIn from WCF i get this exception:

"Unable to cast transparent proxy to type 'ERES.ConversionService.Contract.IConversionContract'

Stack trace:

at ConversionHostViewToContractAdapter_ConstructorInvoker(Object ) at System.AddIn.Hosting.AddInActivator.AdaptToHost[T](AddInToken pipeline, IContract addInContract) at System.AddIn.Hosting.AddInActivator.ActivateInAppDomain[T](AddInToken pipeline, AppDomain domain, AddInControllerImpl controller, Boolean weOwn) at System.AddIn.Hosting.AddInActivator.Activate[T](AddInToken token, PermissionSet permissionSet, String appDomainName) at System.AddIn.Hosting.AddInActivator.Activate[T](AddInToken token, AddInSecurityLevel level, String appDomainName) at System.AddIn.Hosting.AddInActivator.Activate[T](AddInToken token, AddInSecurityLevel level) at System.AddIn.Hosting.AddInToken.Activate[T](AddInSecurityLevel trustLevel) at ERES.ConversionService.BL.BusinessLayer.Execute(Object toConvert, Operation operation) in C:\Documents and Settings\kc\My Documents\Visual Studio 2008\Projects\ConversionServiceSolution\ERES.ConversionService.BL\BusinessLayer.cs:line 44 at ERES.ConversionService.Service.Execute(Object toConvert, Operation operation) in C:\Documents and Settings\kc\My Documents\Visual Studio 2008\Projects\ConversionServiceSolution\ERES.ConversionService\Service.svc.cs:line 25 at SyncInvokeExecute(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)

Any help?

Regards Anton Kalcik

UPDATE: I was able to go around this with this code:

So at this case is only possible to execute AddIn only at same AppDomain as service self. But I don't understand why?

0 投票
1 回答
560 浏览

.net - 在 AddInProcess 中激活 AddInToken 时控制 AppDomainSetup

在 .net 中,可以在新的 AppDomain 中创建 AddIn。创建新的 AppDomain 并不是什么新鲜事,可以使用 AppDomainSetup 类来指定新创建的 AppDomain 的所有启动参数(例如在哪里可以找到 app.config)。但是,当使用新的 AddInProcess 激活 AddInToken(它指定 AddIn 应在一个全新的进程中实例化)时,无法直接访问将用于在新进程中创建 AppDomain 的 AppDomainSetup 参数。

有没有办法做到这一点?我真的需要能够强制我的新插件使用新的 app.config 设置,以及 AppDomain 上的各种其他自定义。

感谢您在这里的任何帮助...

0 投票
1 回答
691 浏览

asp.net - 有没有将 System.AddIn 与 ASP.NET 一起使用的文章/示例?

有谁知道将 System.AddIn 与 ASP.NET 和/或 ASP.NET MVC 应用程序一起使用的任何文章/示例?

我希望使用 System.AddIn 使 ASP.NET MVC 应用程序可扩展。

0 投票
2 回答
901 浏览

c# - System.AddIn (Maf) 插件之间的互连

我想在我的项目中使用 MAF,因为我需要一个健壮的插件架构。然而,我需要从另一个插件调用插件的方法。如何通过灵活的方式实现这一点,其中某些插件应该依赖于其他插件,或者在可用时只使用其他插件的功能。

也许通过主机进程聚合?

预先感谢您的友好回答。

乌福克。

0 投票
2 回答
429 浏览

remoting - System.AddIn 主要是为了让远程处理更容易使用还是让它更难使用?

在 appdomain 隔离功能开始工作之前,它至少需要 7 个程序集并将我的 AddIn 的数据模型限制为远程处理可以处理的数据类型。太复杂了!System.AddIn 团队博客向我暗示他们正在尝试重新创建 COM 的心智模型,我一开始就不太了解这个模型,也没有为它的好处买单。(如果 COM 这么好,为什么它死了?-修辞问题。)如果我不需要镜像或与旧 COM 互操作(就像 VSTO 使用 System.AddIn 一样),是否可以只创建一些加载加载的类一个新的应用程序域?

我可以自己编写发现代码,我以前做过,而且天真的实现非常快,因为我不喜欢迭代 GAC 中的程序集!

所以我的具体问题是,我可以通过一些代码 Remoting 片段获得 AddIns 提供的 AppDomain 隔离吗?这些是什么?