【发布时间】:2018-10-02 16:55:26
【问题描述】:
将 Fody.Costura 添加到项目后,将生成的程序集复制到不同位置的构建后事件开始失败,并显示拒绝访问消息。这是有道理的,因为 Costura 使用 MSBuild 嵌入程序集。有没有办法在 Costura 完成后强制我的帖子构建执行?构建后命令示例:
copy /Y "$(TargetPath)" "%ALLUSERSPROFILE%\Autodesk\Revit\Addins\2019\HOK-Addin.bundle\Contents"
【问题讨论】:
-
不太可能是导致此问题的 Fody。暂时禁用已安装的反恶意软件产品,然后重试。记录你使用的东西。
-
实际上,我可以通过自定义
Target并使用Copy例程来解决此问题。我只是确保将我的AfterTargets设置为AfterBuild;NonWinFodyTarget,然后就成功了。在此之前,我只使用了 Fody 完成工作之前必须执行的标准构建后事件,并且文件仍然被锁定。 -
复制构建任务要聪明得多,它会在“拒绝访问”失败时反复重试复制。您不是第一个遇到反恶意软件问题的程序员。请务必记录您使用的内容,在我们了解什么是好的和应该避免的之前,这类问题不会停止。
-
我很好奇你为什么认为它是由反恶意软件引起的。在我添加 Fody 之前,后期构建命令运行良好。问题在于对文件的锁定/拒绝访问,可能是因为 Fody 在命令触发时正在使用它。我同意任务要好得多,但我怀疑是否涉及反恶意软件。愿意解释一下您对此的看法吗?
标签: visual-studio post-build-event fody-costura