如何将外部程序集的类型添加到工具箱控件? (WPF)

2024-05-26

我正在尝试在我的 WPF 应用程序中执行类似的操作:

    ToolboxControl ctrl = new ToolboxControl();
    Assembly assembly = Assembly.LoadFile(file);
    var category = new ToolboxCategory(assembly.GetName().Name);
    foreach (Type t in assembly.GetTypes())
    {
        var wrapper = new ToolboxItemWrapper(t, t.Name);
        category.Add(wrapper);
    }
    ctrl.Categories.Add(category);

即为程序集中找到的每种类型添加 ToolboxItemWrappers。但是最后一行抛出以下异常(见图)

http://img41.imageshack.us/img41/2261/7xvqv.png http://img41.imageshack.us/img41/2261/7xvqv.png http://img41.imageshack.us/img41/2261/7xvqv.png

外部程序集的所有依赖项也在主 (WPF) 应用程序中引用。那么这里出了什么问题以及如何解决呢?


您正在使用Assembly.LoadFile通过反射加载程序集。但是此方法不会自动在同一目录中查找依赖项。你应该使用Assembly.LoadFrom.

还要考虑到LoadFrom通过 Fusion 允许将加载请求重定向到另一个程序集,同时LoadFile完全加载您所要求的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将外部程序集的类型添加到工具箱控件? (WPF) 的相关文章

随机推荐

  • 有效地找到圆扇区内的点

    我有一组随机分布的二维点 我需要对这些点的一小部分执行时间密集型操作 但我需要首先弄清楚需要对哪些点执行此时间密集型操作 为了确定我需要哪些点 它们必须通过一系列几何标准 最基本的标准是它们是否在特定点的一定距离内 第二个最基本的标准是它们
  • 使用 R 将多个数据帧写入 .csv 文件

    我使用 lapply 将函数应用于多个数据框 data cleaned lt lapply data list shooter cleaning 然后根据主题编号 例如 100 标记列表中每个结果数据帧 names data cleaned
  • 您可以使用 .net core 运行 F# 脚本文件 (.fsx) 吗?

    是否可以使用 net core 运行 fsx 文件 相当于fsharpi在单声道上 它在 NETCore v3 0 或更高版本中开箱即用 cat hello fsx usr bin env fsharpi printfn hello wor
  • 在每次长循环迭代时回显“字符串”(flush() 不起作用)

    我有一个需要很长时间才能执行的循环 并且我希望脚本在循环迭代完成时显示一些内容 echo Hello flush for i 0 i lt 10 i echo i 5 10 sec execution time flush 在整个脚本完成之
  • Symfony2 / Twig:生成备用绝对 URL 路径以与 CDN 一起使用?

    This 堆栈溢出解决方案 https stackoverflow com questions 7358470 twig asset with cdn using symfony 2几乎回答了我的问题 但我想生成 CDN urlTwig不仅
  • 智能指针+循环+“->”

    有时我真的很确定我想要指针的循环依赖 并且循环上的每个对象都应该能够使用他的指针 所以它不能是weak ptr 我的问题是 这是否意味着我的设计很糟糕 如果我想实现图怎么办 我可以使用智能指针吗 在图中有循环 但是对于weak ptr我不能
  • Vue 异步 catch 块中的错误对象在调试器中未定义

    我有这个 Vue 组件 它工作正常 但在 VSCode 中调试是一个问题
  • 更改订单项自定义元数据在 WooCommerce 管理订单中显示的标签和值

    在 Woocommerce 管理屏幕中 我尝试使用订单行元数据来显示一个按钮 该按钮将打开一个新窗口 其中包含代发货供应商的 URL 我已成功从订单产品中提取供应商 URL 并将其推送到订单行项目 我可以将元数据更改为按钮 但其结果是包含自
  • EntityTypeConfiguration - 什么是测试数据库映射的干净方法?

    背景 我公司当前的结构是使用 Plinqo Linq to Sql 创建 数据访问对象 然后使用一组自定义的 CodeSmith 模板来构建 业务对象 长话短说 这两组对象紧密耦合 并且使用 Linq to SQL 会导致非常丑陋的解决方法
  • 默认“合并后完成链接的工作项”为未选中

    VSTS 中出现了 PR 完成的新功能 其中默认标记为完成的 PR 也会将链接的工作项标记为完成 除非未选中 如果可能错过此复选框 是否可以将其默认为未选中 自 2017 年 8 月 28 日起 您可以更改此复选框的默认行为 虽然它默认为
  • JavaScript 正则表达式否定精确的字符串匹配

    HTML JavaScript 中有没有办法编写正则表达式来否定精确的字符串匹配 我想确保输入不等于 foo 仅有的 foo 验证必须失败 但是 fooo 必须被允许 换句话说 我正在寻找这个正则表达式的否定
  • UIWebView Javascript 窗口到窗口通信

    我正在开发一个 iOS 应用程序 我试图在其中使用UIWebView显示各种网站 最近我完成了将 Javascript 注入到的逻辑UIWebView捕获实例window open window close and window opene
  • 如何更改json对象名称(键)?

    只是一个简单的问题 如果我有一个包含 键 值 的 json 对象 如下所示 name value 我想将名称部分更改为其他名称 我该怎么办 我不想删除并重新创建它 鉴于以下情况 正确且紧凑的实施jsonObject是您引用的 json 对象
  • MVVM模式下向UIViewController传递数据

    我正在为我的视图控制器使用 MVVM 但我遇到了一个问题 我不确定解决它的最佳方法是什么 基本上 视图控制器 A 显示一个表视图 其中填充了视图模型 A 中的数据 每个单元格都有自己的视图模型 视图模型 A 负责创建这些视图模型并将它们公开
  • docker 命名卷存储在哪里? [复制]

    这个问题在这里已经有答案了 我有这个docker compose yml file version 3 volumes jenkins home services registry image registry 2 ports 5000 5
  • 获取 Google Apps 脚本中新创建的文件夹的 ID

    作为 Google Apps 脚本项目的一部分 我尝试将活动电子表格和几个上传的文件移动到在共享目录中创建的新文件夹中 我已经能够使用以下命令创建新文件夹 DriveApp getFolderById parentFolder create
  • 无法使用 Windows 窗体中的内容处理 powershell 功能

    function CalendarShare Add MailboxFolderPermission Identity FromUser Text AccessRights Editor User ToUser Text 当程序运行时 它会
  • 机器的最大 TCP 连接数

    我正在 NET 中创建一个 Windows 服务 N 个客户端可以连接到该服务 该服务启动 TCP 侦听器并接受客户端连接 我面临的问题是我只能打开 10 个到该服务的连接 Listener AcceptTcpClient 方法仅接受 10
  • PHP:限制 foreach() 语句? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何限制 foreach 语句 假设我只希望它运行前 2 个 eaches 或其他什么 方法有很多 一种是使用计数器 i 0 foreac
  • 如何将外部程序集的类型添加到工具箱控件? (WPF)

    我正在尝试在我的 WPF 应用程序中执行类似的操作 ToolboxControl ctrl new ToolboxControl Assembly assembly Assembly LoadFile file var category n