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

Linux下构建Avalonia应用遇MSB4018错误:Rider失败VSCode正常

Linux下JetBrains Rider构建Avalonia应用出现Error MSB4018的解决方案

问题现象

  • Linux系统中用Rider构建Avalonia应用时抛出Error MSB4018,提示找不到路径/home/user1/dev/src/app/**/*.axaml
  • Windows环境构建正常;刚从Git检出代码时可成功构建,但后续重建均失败,清理解决方案目录也无效
  • 切换到VSCode使用dotnet build可正常完成构建

问题原因

这是Rider在Linux环境下处理Avalonia项目AXAML文件glob通配符的兼容性问题:Rider内置的构建系统对**通配符的解析逻辑与官方MSBuild(命令行/VSCode使用的版本)存在差异,导致后续构建无法正确匹配AXAML资源文件。

解决方法

1. 直接使用MSBuild命令行构建

在项目根目录执行以下命令,绕过Rider内置构建逻辑:

dotnet build

2. 重置Rider项目缓存

  • 关闭Rider
  • 删除Rider对应解决方案的缓存目录,典型路径为:~/.local/share/JetBrains/Rider<版本号>/solutions/<你的解决方案名>
  • 重新打开Rider加载解决方案后尝试构建

3. 调整项目文件中的AXAML引用方式

打开项目的.csproj文件,修改AXAML资源的引用规则:

  • 原写法(可能触发问题):
<ItemGroup>
  <AvaloniaResource Include="**/*.axaml" />
</ItemGroup>
  • 改为分目录明确引用(如果文件结构固定):
<ItemGroup>
  <AvaloniaResource Include="Views/**/*.axaml" />
  <AvaloniaResource Include="Controls/**/*.axaml" />
</ItemGroup>
  • 或者使用Recursive属性替代**通配符:
<ItemGroup>
  <AvaloniaResource Include="*.axaml" Recursive="true" />
</ItemGroup>

4. 更新Rider至最新稳定版

JetBrains可能已修复此类Linux环境下的构建兼容性问题,通过Help > Check for Updates升级Rider后重试构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:02:09