【发布时间】:2016-05-30 22:03:38
【问题描述】:
我有一个应用程序在尝试从 C# 到 C++ 通信时抛出“外部组件已抛出异常”错误(更正:这是从 C++ 到 C#)。 C# 解决方案涉及我们认为可能与该问题相关的 VSTO 加载项。只有用户能够复制此问题,并且该问题的临时解决方案是清除其计算机上的“AppData\Local\assembly\dl3”卷影副本文件夹。似乎 VSTO 加载项正在将该文件夹中的 dll 创建为卷影副本和 there does not seem to be a way to prevent it。
有人对如何解决这个问题有任何想法吗?
编辑:仅当 C++ 应用程序调用 C# DLL 的网络更新发生并且另一个用户仍然登录时,才会出现此问题。如果由 VSTO 加载项创建的 DLL 的卷影副本不存在,则没有问题。如果卷影副本确实存在,那么这两个产品将无法通信,直到 C# 应用程序发生更新或删除了卷影副本。使用 VSTO 加载项将导致重新创建卷影副本并再次断开连接。
【问题讨论】:
标签: c# vsto shadow-copy