Rob*_*erg 6 c# nuget typescript docker asp.net-core
我有一个包含多个 TypeScript 文件的 ASP.NET Core 项目。该项目具有Microsoft.TypeScript.MSBuild引用,可自动将这些 TS 文件编译为 JavaScript 文件。
<ItemGroup>
<PackageReference Include="Microsoft.TypeScript.MSBuild" Version="3.2.3" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
该设置一直有效,直到我尝试对我的项目进行 dockerize。当我按照此处的示例进行操作时,会发生错误:
/root/.nuget/packages/microsoft.typescript.msbuild/3.2.3/tools/Microsoft.TypeScript.targets(305,5):错误 MSB6003:无法运行指定的任务可执行文件“节点”。没有这样的文件或目录 [/app/MyProject.csproj] 命令“/bin/sh -c dotnet publish -c Release -o out”返回非零代码:1
如何解决问题?
小智 5
在 Windows 上,Microsoft.TypeScript.MSBuild包括 tsc.exe。在非 Windows 平台上,例如在 Docker 容器中,Microsoft.TypeScript.MSBuild不包含 ts.exe 而是外壳到 TypeScript 编译器的节点。我认为官方的 dotnet/sdk Docker 镜像过去曾包含 Node,但它们不再包含 Node。您需要使用 dotnet-sdk 和 Node 制作或查找 Docker 镜像,或者配置一些涉及官方 Node 镜像的多阶段构建。
| 归档时间: |
|
| 查看次数: |
1371 次 |
| 最近记录: |