问题描述
我在其中一台计算机上遇到了一个奇怪的问题,但在运行正常的另一台计算机上却没有。我正在尝试读取剪贴板的全部内容,并将其保存到数组Dictionary<string,object>
中。在下面的具体示例中,我将在Word中复制格式化的文本。
在我的foreach
循环中,它以前5种格式运行,但是当遇到名为"EnhancedMetafile"
的格式时,它将出现此错误并暂停应用程序:
托管的调试助手'FatalExecutionEngineError':'运行时遇到致命错误。错误的地址位于线程0x44e8上的0x702e4463。错误代码为0xc0000005。此错误可能是CLR或用户代码中不安全或不可验证部分的错误。该错误的常见来源包括COM-interop或PInvoke的用户封送处理错误,这些错误可能会破坏堆栈。'
System.ExecutionEngineException :'引发了'System.ExecutionEngineException'类型的异常。'
我的代码是这样,它在最后一行dictionary.Add(format,clipboardDataObject.GetData(format));
中失败了:
// Variables
IDataObject clipboardDataObject = null;
// Get object from clipboard
clipboardDataObject = Clipboard.GetDataObject();
// Get all formats in to an array
var formats = clipboardDataObject.GetFormats(false);
// Create new array
var dictionary = new Dictionary<string,object>();
// Run through all formats and add it to the array
foreach (var format in formats)
{
dictionary.Add(format,clipboardDataObject.GetData(format));
}
我正在使用Visual Studio2019。尽管我在项目属性中将CLRver.ToString()
设置为.NET Framework 4.8,但Target framework
报告了.NET 4.0.30319。
我确实查看了Managed Debugging Assistant 'FatalExecutionEngineError',但没有任何帮助。我还看到了其他一些建议,所有建议都或多或少地建议更新计算机,但是当这是公司计算机时,这并不容易,我可以确切地说出应更新的内容。
有没有人对此有更多了解?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)