【发布时间】:2020-01-07 10:46:52
【问题描述】:
我正在努力使用 Azure Functions V2 项目 Core 2.2 上的构建后命令将 bin 文件夹中的文件向上复制一个级别。我认为这个问题有两个部分。
目前我的命令针对一个特定文件,因为这是我遇到问题的文件:
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="(robocopy $(TargetDir)bin\ $(TargetDir) MyProject.pdb) ^& IF %25ERRORLEVEL%25 LSS 8 SET ERRORLEVEL = 0" />
PDB 文件在新版本中不可用
当作为全新版本运行时,主项目的原始 PDB 文件在运行复制命令时不可用 - robocopy 报告文件不可用。它们存在于依赖项目中,可能是因为它们已经构建。
那么PDB文件是什么时候生成的呢?它是在构建后命令之后制作的吗?我可以在AfterTargets 中输入一些目标,而不是PostBuildEvent 来运行此命令吗?
文件未复制
当我第二次运行构建时会发生这种情况,因此原始 PDB 文件确实存在。
我有一个手动运行时有效的 robocopy 命令(我绝望地尝试过 copy 和 xcopy):
(robocopy $(TargetDir)bin\ $(TargetDir) MyProject.pdb) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
当作为构建后事件运行时,它甚至会报告文件已被复制:
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0 0 0
Files : 1 1 0 0 0 0
Bytes : 57.5 k 57.5 k 0 0 0 0
Times : 0:00:00 0:00:00 0:00:00 0:00:00
但是文件不存在。文件复制后目录是否在某个时候被清除?如上所述,我最好的猜测是我需要一些其他的AfterTargets 集。
这似乎是一件很常见的事情......我是否遗漏了什么,或者这是因为它是一个 Functions 项目?
【问题讨论】:
标签: c# .net-core azure-functions robocopy pdb-files