'System.TypeLoadException: Could not resolve type with token 01000012' error when calling c# dll

问题描述 投票:0回答:0

我正在尝试通过从 python 调用 c# dll 来解压缩 gzip。

当我在vscode中运行c#代码时,没有问题, 从 Python 调用时发生错误。

我应该怎么做才能解决这个错误?

Python调用C#dll部分:

import clr 
file = 'path/to/MyLibrary.dll'
clr.AddReference(os.path.abspath(file))
from MyLibrary import DepressGZ
obj = DepressGZ()
result = obj.depress_gz(str)

错误:

Traceback (most recent call last):
  File "/path/to/test.py", line 39, in <module>
    result = obj.depress_gz(str)
System.TypeLoadException: Could not resolve type with token 01000012 from typeref (expected class 'System.IO.MemoryStream' in assembly 'System.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a')
  at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
  at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0006a] in <36bc7f04913b4c0da9c2e431738df79b>:0 

我使用的是 MacBook(monterey),源代码也可以在 Ubuntu 上运行。

我搜索的时候也出现了xamarin.form相关的。这是什么? 如果我需要修改与 xamarin.form 相关的任何内容,请详细告诉我。

谢谢。

python c# clr
© www.soinside.com 2019 - 2024. All rights reserved.