首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在安装了Fody.Costura的情况下使用生成后事件

在安装了Fody.Costura的情况下使用生成后事件
EN

Stack Overflow用户
提问于 2018-10-03 00:55:27
回答 1查看 234关注 0票数 0

一旦我将Fody.Costura添加到我的项目中,将结果程序集复制到不同位置的生成后事件开始失败,并显示拒绝访问的消息。这是有意义的,因为Costura使用MSBuild来嵌入程序集。有没有办法在Costura完成后强制执行我的post构建?构建后命令示例:

代码语言:javascript
复制
copy /Y "$(TargetPath)" "%ALLUSERSPROFILE%\Autodesk\Revit\Addins\2019\HOK-Addin.bundle\Contents"
EN

回答 1

Stack Overflow用户

发布于 2018-10-10 03:08:05

基本上,我自己问题的解决方案如下所示。

代码语言:javascript
复制
  <Target Name="CopyFiles" AfterTargets="AfterBuild;NonWinFodyTarget">
    <Message Text="Signing file..." Importance="high" />
    <Exec Command="&quot;C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64\signtool.exe&quot; sign /c &quot;Code Signing - DTM&quot; /v &quot;$(TargetPath)&quot;" />
    <Message Text="Copy files..." Importance="high" />
    <Message Text="$(TargetPath) &gt; $(ALLUSERSPROFILE)\Autodesk\Revit\Addins\$(Configuration)\HOK-Addin.bundle\Contents" Importance="high" />
    <Message Text="$(TargetDir)$(TargetName).addin &gt; $(ALLUSERSPROFILE)\Autodesk\Revit\Addins\$(Configuration)" Importance="high" />
    <Copy SourceFiles="$(TargetPath)" DestinationFolder="$(ALLUSERSPROFILE)\Autodesk\Revit\Addins\$(Configuration)\HOK-Addin.bundle\Contents" ContinueOnError="true" />
    <Copy SourceFiles="$(TargetDir)$(TargetName).addin" DestinationFolder="$(ALLUSERSPROFILE)\Autodesk\Revit\Addins\$(Configuration)" ContinueOnError="true" />
  </Target>

我所做的是,用一个MSBuild Target和一个Task.Giving替换运行命令行例程的标准构建后命令,它标记为在构建完成并且Fody完成合并程序集解决了我的问题之后运行。

同样有帮助的是,Tasks有像ContinueOnError="true"这样的标志,它允许任务继续尝试,直到文件可用(如果这就是问题所在),而不是命令行实用程序就会失败。

干杯!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52612973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档