在 .net core 3.1 项目中使用 vb dll

Posted

技术标签:

【中文标题】在 .net core 3.1 项目中使用 vb dll【英文标题】:using vb dll in .net core 3.1 project 【发布时间】:2021-12-20 03:03:00 【问题描述】:

我有一个 .net core 3.1 Web API 项目,我必须使用用 vb 编程的 dll 中的函数。 而且我不允许修改 dll。 运行服务时,我收到错误: “无法从程序集 'Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=fghda' 中加载类型 'Microsoft.VisualBasic.Devices.Computer'。”,

我尝试在 .netframework Web API 项目中添加此 dll,并通过将“Microsoft.CodeDom.Providers.DotNetCompilerPlatform”nuget 添加到引用中,我可以成功运行该服务。 问题是这个 nuget 在 .net 核心中不起作用,使用类似的 nuget 也没用。 我还添加了 microsoft.visualbasic dll,但没有任何改变。 那么有人知道如何解决这个问题吗?

【问题讨论】:

“必须使用函数”...您至少可以在同一个技术堆栈(vb.net)中编写一个配套的 exe 来调用这些函数,并执行 .net 核心 vb。通过命令行、文件或其他方式进行网络通信? VB.NET DLL 是否针对 .NET Framework?那么你运气不好,将无法从 .NET Core 中使用它。 我提到我在另一个.netframework webapi项目中使用了这些dll,问题是在.net core中使用它们。我也在 vb.net 网络表单项目中使用过它们。 【参考方案1】:

.NET Core 似乎仍然不支持 VB .NET。之前的声明中提到过,以后会支持。

https://devblogs.microsoft.com/vbteam/visual-basic-in-net-core-3-0/

【讨论】:

以上是关于在 .net core 3.1 项目中使用 vb dll的主要内容,如果未能解决你的问题,请参考以下文章

表单视图设计器无法在 Visual Studio 2019 中使用 c# .NET Core 3.1 [重复]

将项目从 2.2 更新到 3.1(缺少程序集)或如何在 .NET Core 中使用 API POST 请求时,PostAsJsonAsync()在 .Net Core 3.1 中不起作用 [重复]

如何将 .net core Web API 项目添加到现有的 .NET core (3.1) Web Application 项目中?

如何使用 Visual Studio 2019 在 Docker 容器中运行 ASP.NET Core 3.1 项目?

.NET Core 3.1 项目的 SonarQube 分析失败

ASP.NET Core api 项目 3.1 在 IIS 上发布