繁体   English   中英

dll 中的方法抛出 System.MissingMethodException:找不到方法

[英]Method in dll throwing System.MissingMethodException: Method not found

我有一个 .NET Core 2.0 Web API,它显然是用 C# 构建的。 我有一个从 VB dll 调用 void 函数的方法,当我运行该程序时,该函数调用抛出以下异常。

System.MissingMethodException:找不到方法:'System.Object Microsoft.VisualBasic.Interaction.IIf(Boolean, System.Object, System.Object)'

我已经在 GAC 上注册了 dll,除了 .dll 文件之外,我还引用了项目本身,即使如此,Visual Studio 也不让我调试它。

使用 Visual Studio 2017、.NET Core 2.0 框架。

简而言之,没有办法将 VB dll 集成到 .NET Core。 大多数本机 VB 函数都不起作用。 我的建议是将 dll 翻译成 c#。

.NET Core 中的所有内容现在都是 NuGet 包。 只需将Microsoft.VisualBasic包从 NuGet 添加到您的项目,您就可以开始了。

请注意,您似乎正在使用Microsoft.VisualBasic.Interaction.IIf方法。 C# 语言中内置了一个等效项: ? 操作员 像这样使用它:

var myVariable = something == "A" ? "Equals A" : "Doesn't equal A"

IIf转换为If

示例: IIF(SomeCondition, "A", "B")IF(SomeCondition, "A", "B")

参考: VB.NET 三元运算符

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM