Python导入C# WinForms DLL后无法识别Form1类,该如何解决?
Python导入C# WinForms DLL后无法识别Form1类,该如何解决?
我想在Python里调用用C# WinForms做的GUI界面,目前使用的版本信息如下:
- Python:3.12
- Pythonnet:3.0.5
- C# 开发环境:Visual Studio 2022
先说说我在C#端的操作:
我创建了一个WinForms项目,编写的代码如下:
namespace WinFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { MessageBox.Show("hello"); } public static void ShowForm() { Application.Run(new Form1()); } } }
构建解决方案后,我把Debug文件夹里生成的DLL文件复制到了Python项目的文件夹中。
再说说Python端的操作:
我用VS Code编写了Python调用代码:
import clr import os def test(): clr.AddReference(r"./WinFormsApp1.dll") from WinFormsApp1 import Form1 Form1.ShowForm() if __name__ == "__main__": test()
但就像截图显示的那样,from WinFormsApp1 import Form1这一行代码无法被VS Code识别,请问我该怎么解决这个问题?
(补充说明:C#项目的截图展示了WinFormsApp1项目中Form1类的完整代码;Python项目的截图则显示VS Code里from WinFormsApp1 import Form1行有红色错误提示,系统识别不到Form1)
备注:内容来源于stack exchange,提问作者ahhu
相关产品推荐
相关产品推荐

