【问题标题】:Pythonnet importing class: "ModuleNotFoundError: No module named..."Pythonnet 导入类:\"ModuleNotFoundError: No module named...\"
【发布时间】:2022-11-18 17:46:48
【问题描述】:

我正在使用 pythonnet 将 C# dll 导入 python。

import sys
import clr
assemblydir = r"C:\Users\Nathan_Dehnel\source\repos\TFSHygiene\bin\Debug\net5.0-windows"
sys.path.append(assemblydir)
clr.AddReference("TFSHygiene")
from TFSHygiene import QueryExecutor

DLL 位于 assemblydir 中。

TFSHygiene 内部:

namespace TFSHygiene
{
    public class QueryExecutor
    {
        ...
    }
}

我按照这个问题的答案:"No module named" error when attempting to importing c# dll using Python.NET

但是我在构建时收到此错误:

Traceback (most recent call last):
  File "C:\Users\Nathan_Dehnel\OneDrive - Dell Technologies\Documents\ADO TFS\ADO TFS\main.py", line 12, in <module>
    from TFSHygiene import QueryExecutor
ModuleNotFoundError: No module named 'TFSHygiene'

使用 .NET 5.0 目标构建。

【问题讨论】:

    标签: python c# python-import .net-5 python.net


    【解决方案1】:

    我从来没有让它与 .NET 5.0 一起工作。对我来说,它适用于 .NET Framework 4.8。 See my answer for more details

    【讨论】:

      【解决方案2】:

      对于.net core,需要在import clr前加上load("coreclr")

      load("coreclr")
      import clr
      

      【讨论】:

        猜你喜欢
        • 2020-10-03
        • 1970-01-01
        • 1970-01-01
        • 2018-06-18
        • 1970-01-01
        • 1970-01-01
        • 2021-03-13
        • 2022-12-27
        • 2022-12-27
        相关资源
        最近更新 更多