【问题标题】:Copy PDB with post-build event for Azure Functions project使用 Azure Functions 项目的构建后事件复制 PDB
【发布时间】: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) ^&amp; 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


    【解决方案1】:

    原来有一个_GenerateFunctionsPostBuild 目标(不确定它的确切来源)但使用它已经修复了它

    <Target Name="PostBuild" AfterTargets="_GenerateFunctionsPostBuild">
    <Exec Command="(robocopy $(TargetDir)bin\ $(TargetDir) *) ^&amp; IF %25ERRORLEVEL%25 LSS 8 SET ERRORLEVEL = 0" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      • 2013-10-04
      • 2018-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多