You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 14:18:03