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

CMD调用AL编译器报DotNet错误,但VS Code内置编译正常的问题

解决CMD调用AL编译器时的DotNet缺失错误

问题根源

VS Code里按Ctrl+Shift+B编译时,会自动读取项目.vscode目录下的tasks.json配置,里面已经包含了目标框架版本、必要的DotNet程序集引用这些关键参数。但手动执行的alc.exe命令没加这些参数,编译器找不到对应的DotNet类型,因此报错。

两种解决办法

办法1:给CMD命令补全必要参数

在原有命令基础上添加目标框架和DotNet程序集引用参数:

  • /target: 指定项目对应的Business Central版本(比如/target:18.0,需根据实际版本调整)
  • /reference: 添加需要的DotNet程序集路径,比如System.dll和System.Net.Http.dll

修正后的命令示例:

C:\Users\dsda\.vscode\extensions\ms-dynamics-smb.al-11.5.834620\bin\alc.exe /project:. /packagecachepath:./.alpackages/ /out:test.app /target:18.0 /reference:"C:\Program Files\Microsoft Dynamics 365 Business Central\180\Service\System.dll" /reference:"C:\Program Files\Microsoft Dynamics 365 Business Central\180\Service\System.Net.Http.dll"

办法2:直接复用VS Code的编译命令

  1. 打开项目中的.vscode/tasks.json文件
  2. 找到编译任务对应的command字段,将完整命令复制到CMD中直接执行,无需自行拼接参数

注意事项

  • 目标版本号要与项目对应的Business Central版本一致
  • 程序集路径需匹配本地Business Central的安装目录,注意修改路径中的版本号部分
  • 如果项目用到了其他自定义DotNet组件,也要通过/reference:参数添加对应的dll路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 15:27:52