【问题标题】:Dotfuscator Post-Build Event Exited With Code 1Dotfuscator 构建后事件退出,代码 1
【发布时间】:2012-06-25 06:33:45
【问题描述】:

我试图在 TFS 的构建过程中自动对我的项目进行 dotfuscate。

我在项目属性下创建了一个“Post-Build Event”,如下:

"C:\Program Files (x86)\PreEmptive Solutions\Dotfuscator Professional 版本 4.9\dotfuscator.exe" /in:"$(TargetPath)" /out:"$(TargetDir)Obfuscated\" /honor:on /strip:on /prune:off /rename:off /suppress:on /mapout:"$(TargetFileName).xml" /debug:pdb xcopy /S /R /Y "$(TargetDir)Obfuscated\$(TargetFileName)" "$(目标目录)"

当此事件开始时,我收到以下错误:

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (3717): 命令 ""C:\Program Files (x86)\PreEmptive 解决方案\Dotfuscator 专业版 4.9\dotfuscator.exe" /in:"C:\Builds\5\BIMS\Sandbox 分支私测手册 Build\Binaries\ProcessBookmarks.exe" /out:"C:\Builds\5\BIMS\Sandbox 分支私有测试手册 Build\Binaries\Obfuscated\" /honor:on /strip:on /prune:off /rename:off /suppress:on /mapout:"ProcessBookmarks.exe.xml" /debug:pdb xcopy /S /R /Y "C:\Builds\5\BIMS\Sandbox 分支私测手册 Build\Binaries\Obfuscated\ProcessBookmarks.exe" "C:\Builds\5\BIMS\Sandbox Branch Private Test Manual Build\Binaries\"" 以代码 4 退出。”

我已经对这个主题进行了数小时的研究、实验和谷歌搜索,但无法找出错误的解释。当我在本地运行构建时,命令工作得很好。任何帮助将不胜感激

编辑: 我已经多次尝试让 dotfuscator 通过命令行工作。我已确保 dotfuscator 命令在本地自行工作,但是当我运行构建定义时,dotfuscator 命令行以代码 1 退出,如下所示,我不知道如何修复它:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (3717):命令 ""C:\Program Files (x86)\PreEmptive Solutions\Dotfuscator Professional Edition 4.9\dotfuscator. exe" /in:"C:\Builds\5\BIMS\Sandbox Branch Private Test Manual Build\Binaries\ProcessBookmarks.exe" /out:"C:\Builds\5\BIMS\Sandbox Branch Private Test Manual Build\Binaries\混淆" /honor:on /strip:on /prune:off /enhancedOI:on /suppress:on /mapout:"C:\Builds\5\BIMS\Sandbox Branch Private Test Manual Build\Binaries\ProcessBookmarks.exe.xml" /debug:pdb" 以代码 1 退出。

我仍然无法让 dotfuscator 在我的自动化构建中工作,有没有人举个例子说明他们是如何做到的。我真的很感激这个问题的答案。

【问题讨论】:

  • 您能分享一下您的输出窗口中显示的内容吗?
  • 我已删除 xcopy 命令并尝试仅运行 dotfuscator 命令。该命令在本地工作并且正确地对文件进行dotfuscates并将其放在正确的文件夹中,但是当我运行实际的构建定义时,我现在退出了代码1。我无法在构建日志文件或输出窗口中看到可以共享的其他信息。

标签: .net build build-automation obfuscation dotfuscator


【解决方案1】:

我建议使用 copy 而不是 xcopy 将混淆的 dll 复制到输出文件夹。

我建议这样做的原因是因为我花了一天时间尝试和你做同样的事情,除了我的解决方案中有 Dotfuscator 项目 (*.dotfuproj)(而不是在构建后步骤中通过命令行调用 Dotfuscator)我试图在 Dotfuscator 项目后期构建步骤中复制 Dotfuscator 输出。

当我使用 xcopy 时,它无法复制文件,没有任何警告、错误或消息。它就像什么都没发生一样继续 - 没有正面或负面的输出。什么都没有。

通过命令行执行 xcopy 命令运行良好 - 关于为什么 xcopy 不起作用以及为什么我没有收到说明原因的消息没有任何意义。 [如果有人知道这是为什么,我很想知道]

使用复制,您需要指定目标文件,而不仅仅是上面 xcopy 命令中的目录。

[我会将此作为评论添加到您的问题中,但我似乎没有能力/rep(?)]

【讨论】:

  • 好的,感谢您的回复。从那以后,我转向了其他几个解决方案,但没有一个是理想的。我会尝试进去看看这是否能解决问题。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2017-07-11
  • 2017-11-30
  • 2018-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-03
相关资源
最近更新 更多