首页 > 解决方案 > 如何使用 VSIX 扩展实现控制台应用程序

问题描述

我正在使用Keras.Models.Model.LoadModel(path + "issue_classifier_w2vec_new.h5");C# 加载 .H5 机器学习模型。此加载应该在按钮的单击事件上执行(通常是通过 VSIX 扩展添加的菜单按钮)。

当我在 Visual Studio 2019 中运行一个全新的控制台应用程序时,它运行良好。但是,当我在 VSIX 项目或 btn 单击事件中运行相同的代码时,它会显示BadImageFormatExceptionPython 运行时异常。我认为它无法在实验窗口中找到 python 环境(通过执行将安装扩展的 VSIX 项目打开的窗口)

我认为它是强制需要一个控制台来执行 python 库但是在单击一个按钮时,它不能被加载。如果可能,请帮助我。谢谢!

标签: c#machine-learningkerasconsole-applicationvsix

解决方案


在涉及BadImageFormatException 类的文档中有一些关于此异常的非常好的细节。

我见过的最常见的情况是调用应用程序和 DLL 不是针对同一体系结构构建的。VS IDE (devenv.exe) 是一个 32 位应用程序,因此我怀疑您正试图在 64 位特定程序集中加载或调用代码。


推荐阅读