对于 asp.net 样板核心版本,发布需要 robocopy

For asp.net boilerplate core version, robocopy required for publish

在 windows 上为新下载的 asp.net 样板模板执行 "dotnet publish" 时,一切正常,可以使用生成的 puplish 文件夹。

然而,当在 linux 上执行相同操作时,我得到以下信息:

/bin/sh: 2: /tmp/tmpda90e7b4d99846c4936a6816fb7d9654.exec.cmd: robocopy: not found

有什么具体的方法可以让我在 linux 上发布 asp.net 样板文件?

AspNet Boilerplate 合并解决方案有一个 PrepublishScript 执行 Robocopy 步骤。由于 Linux OS 没有 Robocopy 命令,您需要删除 MyProject.Web.Host.csproj

中的以下行
<Exec Command="robocopy $(MSBuildProjectDirectory)\wwwroot\dist\ $(MSBuildProjectDirectory)\wwwroot\ /S /E /MOVE" IgnoreExitCode="True" />

Click here to go to the related source code line.

并且您需要手动执行该步骤;将$(MSBuildProjectDirectory)\wwwroot\dist\的内容复制到$(MSBuildProjectDirectory)\wwwroot\

PS: MSBuildProjectDirectory 是属性,它将为您提供在命令行上调用的项目文件的完整路径