我有一个要从Python使用的.NET Standard 2.0类库。该库依赖于一些私有和公共的NuGet包。
我设法在appveyor上pythonnet
从工件安装了最新的dev版本,并且可以运行以下导入代码:
import clr
import sys
sys.path.append(r'C:\....\My.Library\bin\Debug\netstandard2.0')
ref = clr.AddReference("My.Library")
上面的代码运行正常,但是当我尝试从模块名称空间导入时...
from My.Library import MyClass
# >>> ModuleNotFoundError: No module named 'My'
当我尝试做的时候ref.get_ExportedTypes()
,我得到了:
System.IO.FileNotFoundException:
Die Datei oder Assembly "Google.Protobuf, Version=3.6.0.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"
oder eine Abhängigkeit davon wurde nicht gefunden.
Das System kann die angegebene Datei nicht finden.
bei System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes)
bei System.Reflection.RuntimeAssembly.GetExportedTypes()
本质上,这是关于NuGet依赖项的FileNotFoundException。什么是构造DLL文件/使用NuGet依赖项导入的正确方法?
谢谢
通过将所有依赖项放在一个目录中,导入就可以进行。如何实现此目标的几种方法,例如dotnet publish
,如何获取.NET Core项目以复制NuGet引用以生成输出?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句