2

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

我在项目属性下创建了一个“构建后事件”,如下所示:

"C:\Program Files (x86)\PreEmptive Solutions\Dotfuscator Professional Edition 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)" "$(TargetDir )"

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

"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\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 Branch Private Test Manual 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\Obfuscated" / 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 在我的自动化构建中工作,有没有人有他们如何做到这一点的例子。我真的很感激这个问题的答案。

4

1 回答 1

1

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

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

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

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

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

[我会将此添加为对您问题的评论,但我似乎没有能力/代表(?)]

于 2012-12-12T16:51:42.460 回答