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

.NET Core 2控制台项目疑问:React.dll被包含及macOS运行失败

为什么React.dll会被包含在新建的.NET Core 2控制台项目中?

这十有八九是你的.NET Core模板环境被意外污染了。正常情况下,纯控制台项目的官方模板根本不会沾到任何React相关的依赖,出现这种情况可能有几个原因:

  • 你之前装过ASP.NET Core的React模板(比如dotnet new react),或者其他自定义模板,这些模板的配置不小心覆盖或影响了默认的控制台模板。
  • 你的NuGet缓存里存了错误的包引用,导致创建项目时错误拉取了React相关的依赖。
  • 全局的.NET Core模板设置被修改过,比如有人自定义了控制台模板还加了不必要的React依赖。

你可以先跑dotnet new --list看看控制台模板的来源,确认它是官方的console模板,不是第三方自定义的。如果发现异常,试试dotnet new --uninstall卸载可疑模板,再修复一下SDK安装(.NET Core 2.x的模板是随SDK自带的,卸载重装SDK一般能恢复默认模板)。


在macOS High Sierra上无法运行最简单的.NET Core 2.0控制台应用

这个报错和你提到的React.dll存在直接相关——项目创建时就带了错误的依赖,导致运行时找不到必要的宿主库libhostpolicy.dylib。试试这些解决办法:

  1. 创建干净的项目:用--force参数强制用官方默认模板创建项目,避开被污染的模板:
    dotnet new console --force -o myCleanApp
    cd myCleanApp
    dotnet run
    
  2. 检查.NET Core SDK和运行时:执行dotnet --info,确认输出里有.NET Core 2.0的运行时(Runtime Environment)。如果没找到,重新下载安装对应版本的SDK(注意.NET Core 2.0已经停止支持了,要是必须用这个版本,得确保下载的安装包适配macOS High Sierra)。
  3. 清空NuGet缓存:缓存的错误包可能搞乱依赖,跑下面的命令清空所有本地NuGet缓存:
    dotnet nuget locals all --clear
    
  4. 修复SDK模板:要是上面的步骤都没用,可能是SDK自带的模板损坏了。卸载当前的.NET Core 2.0 SDK,重新下载官方安装包再装一遍,确保安装过程没报错。

另外,macOS High Sierra是比较老的系统,.NET Core 2.0对它的支持本来就有限,要是条件允许,建议升级到.NET Core 2.1(长期支持版本),同时把macOS系统也升到更稳定的版本,这样能避开不少兼容性坑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:05:29