2012-06-22 112 views
2

我想在TFS的構建過程中自動對我的項目進行模糊處理。Dotfuscator構建事件退出代碼1

我已根據項目屬性造就了「生成後事件」如下:

"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): The command ""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\"" exited with code 4."

我做過小時研究,實驗和谷歌搜索這個問題,並沒有能夠找出錯誤的解釋。當我在本地運行構建時,命令工作得很好。任何幫助將不勝感激

編輯: 我已經做了幾個嘗試,讓DotFuscator通過命令行工作。我已經確保了Dotfuscator的命令是通過自身在當地,但是當我運行生成定義的Dotfuscator的命令行代碼爲1退出如下,我不知道如何解決它:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (3717): The command ""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" exited with code 1.

我仍然在自動構建中讓DotFuscator工作時遇到麻煩,有沒有人有他們如何做的例子。我真的很感謝這個問題的答案。

+0

你能分享什麼是你的輸出窗口中顯示? –

+0

我已經刪除了xcopy命令並嘗試運行dotfuscator命令。該命令可以在本地正確地對文件進行dotfuscate並將其放入正確的文件夾中,但是當我運行實際的構建定義時,我現在會退出代碼1。我無法在生成日誌文件或輸出窗口中看到可供分享的附加信息。 –

回答

1

這似乎是愚蠢的,但請與我裸...

我會建議使用複製,而不是Xcopy將混淆的DLL文件複製到您的輸出文件夾。

我建議這樣做的原因是因爲我花了一天的時間試圖做同樣的事情,除了我的解決方案中有Dotfuscator項目(* .dotfuproj)(而不是在後期構建步驟中通過命令行調用Dotfuscator ),我試圖在Dotfuscator項目後構建步驟中複製Dotfuscator輸出。

當我使用xcopy時,它無法複製文件而沒有任何警告,錯誤或任何信息。它繼續像沒有發生任何事情 - 沒有正面或負面的輸出。沒有。

通過命令行執行xcopy命令工作正常 - 沒有任何意義,爲什麼xcopy不工作,爲什麼我沒有消息指出爲什麼。 [如果有人知道爲什麼這是我想知道的]

有了副本,您需要指定目標文件,而不僅僅是您的xcopy命令中的目錄。

[我會增加這是你的問題評論,但我似乎沒有有能力/ REP(?)]

+0

好的,謝謝你的迴應。此後,我開始轉向其他幾種解決方案,但都不是理想的解決方案。我會試着去看看這是否解決了這個問題。非常感謝! –