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

将Windows C#程序移植到Ubuntu:如何添加Microsoft.Extensions命名空间?

解决Ubuntu下.NET项目中Microsoft.Extensions命名空间缺失问题

问题本质很简单:Microsoft.Extensions.Hosting、Microsoft.Extensions.Logging这些命名空间对应的是第三方NuGet包,并非.NET核心SDK自带的内容,不管是Windows还是Ubuntu环境,都需要手动安装依赖包才能使用,和操作系统没有关系。

以下是两种在VSCode中解决的方法:

方法一:使用.NET CLI命令(推荐,适合Ubuntu终端操作)

  • 打开终端,切换到你的项目根目录(包含.csproj文件的文件夹)
  • 依次执行以下命令安装所需包:
    dotnet add package Microsoft.Extensions.Hosting
    dotnet add package Microsoft.Extensions.Logging
    
  • 命令执行完成后,.NET会自动恢复依赖,回到VSCode查看代码,报错即可消失。

方法二:直接编辑.csproj文件

  • 在VSCode中打开项目的.csproj文件
  • 在<ItemGroup>节点中添加以下包引用(版本号可根据你使用的.NET版本调整,比如用.NET 6就选6.x的稳定版):
    <PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
    
  • 保存文件后,VSCode会自动触发依赖恢复,等待完成即可。

补充说明:这些Microsoft.Extensions系列包都是完全跨平台的,Ubuntu下的.NET环境对其支持和Windows完全一致,不存在平台限制问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 14:24:57