c# - 使用python访问.net core dll
问题描述
我需要访问一个内置在 .net 核心(.NETCore 版本 = v1.1)中的 C# dll。我尝试了以下方式,但出现导入错误。
import clr
clr.AddReference("dllname") - No error
from dllname import *
得到导入错误异常,说没有名为dllname的模块。
注意:我尝试过 Iron python 和 python 都给了我同样的例外。
解决方案
我正在尝试使用 Mono 5.18、python3.7 和 netcore 3.0.100-preview-009812 的 Fedora 29,如果您使用绝对路径来解析 netcore dll,它似乎可以工作
import clr
import os
clr.AddReference(os.path.abspath('./bin/Debug/netstandard2.0/sample.dll'))
import sample
p = sample.Person(name='Peter')
netcore 项目就是这样生成的
dotnet new classlib -o sample
人物类
using System;
namespace sample
{
public class Person
{
public string Name { get; set; }
}
}
更新
根据@SMHP 提供的数据,主 .NET 框架/单声道(pythonnet 运行时)与面向 .netcoreapp 2.0 的库之间似乎不兼容。
推荐阅读
- .htaccess - 如何使用 .htaccess 从 URL 中删除 .cgi?
- javascript - Nodejs - Axios 帖子在函数中不返回任何内容
- flutter - 为什么 Flutter Navigator 2.0 API 不能与 flutter_bloc 一起使用?
- android - 带有锚链接的 TextView HTML
- python - 使用 madvise 加速 python mmap
- mediawiki - 如何在 mediawiki 中合并表格单元格
- css - 如何使元素在引导程序中的 col 类中内联
- flutter - 如何使命名方法参数需要 Flutter?
- python - 如何使用opencv python检测pcb中的缺陷
- r - 检测 R 中的空列表