使用 post-build 事件为 Azure Functions 项目复制 PDB
Copy PDB with post-build event for Azure Functions project
我在 Azure Functions V2 项目 Core 2.2 上使用 post-build 命令努力将文件从 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文件是什么时候生成的呢?它是在 post-build 命令之后制作的吗?我可以在 AfterTargets
中放置一些目标,而不是在 PostBuildEvent
之后将此命令发送到 运行 吗?
文件未被复制
当我 运行 第二次构建时会发生这种情况,因此原始 PDB 文件 确实 存在。
我有一个 robocopy 命令(我在绝望中也尝试过 copy 和 xcopy)在 运行 手动时有效:
(robocopy $(TargetDir)bin\ $(TargetDir) MyProject.pdb) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
当运行作为post-构建事件时,它甚至报告文件已被复制:
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 项目?
原来有一个 _GenerateFunctionsPostBuild
目标(不确定它的确切来源)但使用它已经修复了它
<Target Name="PostBuild" AfterTargets="_GenerateFunctionsPostBuild">
<Exec Command="(robocopy $(TargetDir)bin\ $(TargetDir) *) ^& IF %25ERRORLEVEL%25 LSS 8 SET ERRORLEVEL = 0" />
我在 Azure Functions V2 项目 Core 2.2 上使用 post-build 命令努力将文件从 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文件是什么时候生成的呢?它是在 post-build 命令之后制作的吗?我可以在 AfterTargets
中放置一些目标,而不是在 PostBuildEvent
之后将此命令发送到 运行 吗?
文件未被复制
当我 运行 第二次构建时会发生这种情况,因此原始 PDB 文件 确实 存在。
我有一个 robocopy 命令(我在绝望中也尝试过 copy 和 xcopy)在 运行 手动时有效:
(robocopy $(TargetDir)bin\ $(TargetDir) MyProject.pdb) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
当运行作为post-构建事件时,它甚至报告文件已被复制:
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 项目?
原来有一个 _GenerateFunctionsPostBuild
目标(不确定它的确切来源)但使用它已经修复了它
<Target Name="PostBuild" AfterTargets="_GenerateFunctionsPostBuild">
<Exec Command="(robocopy $(TargetDir)bin\ $(TargetDir) *) ^& IF %25ERRORLEVEL%25 LSS 8 SET ERRORLEVEL = 0" />