c# - 如何避免 Excel-DNA 加载项锁定外部库 dll?
问题描述
我正在构建一个具有自动更新功能的 Excel-DNA 加载项,根据@Govert对另一个堆栈溢出问题的建议,我使用加载项重新加载示例的部分内容来在特定标志文件被覆盖后重新加载加载项复制更新的加载项文件,这一切都很好,但是在重新加载的加载项上作为外部库加载的一些 dll 被 excel 锁定了如何加载它们以使它们不会被锁定?
我尝试在 dna 文件上将 loadfrombytes 标志设置为 true。
重新加载和重新加载的加载项主 dll 都没有被锁定,只有我添加到重新加载的加载项的外部库被锁定,例如 log4net.dll。
我也没有打包我的加载项。
谢谢。
解决方案
在不重新启动 Excel 的情况下重新加载 Excel-DNA 加载项目前仅限于:
- 不使用任何 COM 功能的插件(例如 Ribbon、CTP、RTD 等)
- 不引用任何其他程序集的加载项
您可以通过在主存储库中打开问题来请求改进此功能:https ://github.com/Excel-DNA/ExcelDna
推荐阅读
- ios - 使用 UITabBarController 的 UIAccessibility 焦点
- linux - 不执行 shell 脚本
- kubernetes - 在 DigitalOcean 上的 K8S 集群中使用 terraform 安装 Helm 时没有分蘖
- redux - 更新 redux 存储中对象数组元素的值
- python - 从迭代的字符串值中获取单个列表
- c# - 以单线程方式处理动作
- javascript - 为什么 ngRX 动作有一个类型?
- bash - 找到匹配项时使用 sed(或 awk)在 fstab 中添加条目
- ios - 在运行 ios 13 的设备上没有应用程序崩溃的情况下无法播放音频文件
- node.js - 修改 express.js res.send 函数后它不会发出任何数据