首页 > 解决方案 > 对于 asp.net 样板核心版本,发布需要 robocopy

问题描述

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

但是,在 linux 上执行相同操作时,我得到以下信息:

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

有没有一种特定的方式我应该在 Linux 上发布 asp.net 样板文件?

标签: aspnetboilerplate

解决方案


AspNet Boilerplate 合并解决方案具有执行步骤的PrepublishScriptRobocopy。由于 Linux 操作系统没有 Robocopy 命令,因此您需要在MyProject.Web.Host.csproj中删除以下行

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

单击此处转到相关的源代码行。

你需要手动完成这一步;复制$(MSBuildProjectDirectory)\wwwroot\dist\to的内容$(MSBuildProjectDirectory)\wwwroot\

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


推荐阅读