我在我的项目中使用 IronPython。设置如下:
Project.Main
- MyProject.Python
- IronPython package
Project.Main 有一个名为的类Community
,它是主要类之一。它无处不在。
现在 IronPython 有一个名为Community .CsharpSqlite 的命名空间和一个名为 Sqlite3 的类。
- 我不需要在MyProject.Main 中引用此类
- 我没有直接使用 MyProject.Main 中 IronPython 包中的任何类
- 我只提到 MyProject.Python 中的包装类。
我所有的代码都不再编译了,因为我得到了:
错误 CS0118 'Community' 是命名空间,但用作类型
这是一个非常大的项目,我不想开始为我对 Community 类的所有引用加上命名空间前缀。
- 有什么解决方法吗?
- 我可以只向 MyProject.Python 公开 IronPython 命名空间吗?
- 我尝试了 Aliases 和 PrivateAssets 选项,但我在解决方案资源管理器中收到了一个警告符号,它似乎不起作用(仍然是 CS0118)
- 请参阅https://docs.microsoft.com/en-us/nuget/consume-packages/package-references-in-project-files
示例项目:
https://www.dropbox.com/s/hayi3a4ctrh8rlx/NamespaceProblem.zip?dl=0