You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Framework4.8迁移至.NET Standard2.0后无法解析Microsoft.VisualBasic.dll引用

解决.NET Standard 2.0 VB.NET类库迁移后BC2017找不到Microsoft.VisualBasic.dll的问题

针对你迁移后遇到的Error BC2017: could not find library 'Microsoft.VisualBasic.dll'错误,可尝试以下针对性解决方案:

  • 修正项目文件的SDK与依赖配置

    1. 确保项目文件顶部使用.NET Standard兼容的SDK格式:<Project Sdk="Microsoft.NET.Sdk">,替换旧的.NET Framework项目格式。
    2. 删除手动添加的<Reference Include="Microsoft.VisualBasic" />,改用标准NuGet引用方式,在项目文件的<ItemGroup>节点中添加:
      <PackageReference Include="Microsoft.VisualBasic" Version="10.3.0">
        <PrivateAssets>all</PrivateAssets>
        <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      </PackageReference>
      
    3. 若NuGet源存在异常,可在<PropertyGroup>中强制指定官方源:
      <RestoreAdditionalProjectSources>https://api.nuget.org/v3/index.json</RestoreAdditionalProjectSources>
      
  • 彻底清理构建缓存

    1. 删除项目目录下的bin、obj文件夹,以及解决方案根目录的隐藏.vs文件夹。
    2. 使用命令行执行以下操作,绕过Visual Studio缓存:
      dotnet clean
      dotnet restore
      dotnet build
      
  • 排查隐式依赖与代码问题

    1. 全局搜索项目中所有.vb文件,确认是否存在未正确导入Microsoft.VisualBasic命名空间的代码(如Microsoft.VisualBasic.FileIO.FileSystem),缺失的导入语句可能导致编译器异常寻找程序集。
    2. 检查项目依赖的第三方类库,确认其是否已更新至支持.NET Standard 2.0的版本,避免旧依赖拉取.NET Framework版本的Microsoft.VisualBasic.dll。
  • 诊断MSBuild搜索路径
    打开Visual Studio开发者命令提示符,执行以下命令生成详细构建日志:

    msbuild /v:diag YourProject.vbproj > build.log
    

    在日志中搜索Microsoft.VisualBasic.dll,对比编译器实际搜索路径与你本地NuGet包路径,定位路径不匹配的根源。

内容的提问来源于stack exchange,提问作者Pita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 11:10:06