下載地址:http://www.pc0359.cn/downinfo/39815.htmlhtml
備份地址:C:\D\99backups\01installSoftware\dotfuscator.rarapp
這樣命令行的位置纔是:C:\Program Files (x86)\PreEmptive Solutions\Dotfuscator Professional Edition 4.9\dotfuscatorui
Test.xml文件內容以下:編碼
<?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE dotfuscator SYSTEM "http://www.preemptive.com/dotfuscator/dtd/dotfuscator_v2.3.dtd"> <dotfuscator version="2.3"> <!--This is application generated code. Do not edit manually.--> <input> <loadpaths /> <asmlist> <inputassembly refid="2187036c-9db0-4255-bff9-6503db4e55c9"> <option>honoroas</option> <option>stripoa</option> <option>library</option> <option>transformxaml</option> <file dir="xxx\bin" name="xxx.dll" /> </inputassembly> <inputassembly refid="5de30783-0123-4804-ad0d-f5d3cd5d570f"> <option>honoroas</option> <option>stripoa</option> <option>library</option> <option>transformxaml</option> <file dir="xxx\bin" name="xxx.dll" /> </inputassembly> <inputassembly refid="3c102238-4ba0-4855-84bd-82bc483fa0c9"> <option>honoroas</option> <option>stripoa</option> <option>library</option> <option>transformxaml</option> <file dir="C:\D\xxx\bin" name="xxx.dll" /> </inputassembly> </asmlist> </input> <output> <file dir="${configdir}\Dotfuscated" /> </output> <renaming> <option>xmlserialization</option> <mapping> <mapoutput overwrite="true"> <file dir="${configdir}\Dotfuscated" name="Map.xml" /> </mapoutput> </mapping> <referencerulelist> <referencerule rulekey="{6655B10A-FD58-462d-8D4F-5B1316DFF0FF}" /> <referencerule rulekey="{229FD6F8-5BCC-427b-8F72-A7A413ECDF1A}" /> <referencerule rulekey="{2B7E7C8C-A39A-4db8-9DFC-6AFD38509061}" /> <referencerule rulekey="{494EA3BA-B947-44B5-BEE8-A11CC85AAF9B}" /> <referencerule rulekey="{89769974-93E9-4e71-8D92-BE70E855ACFC}" /> <referencerule rulekey="{7D9C8B02-2383-420f-8740-A9760394C2C1}" /> </referencerulelist> </renaming> <controlflow level="high" /> <sos mergeruntime="true"> <option>dontsendtamper</option> </sos> <smartobfuscation> <smartobfuscationreport verbosity="all" overwrite="false" /> </smartobfuscation> </dotfuscator>
Test.xml文件能夠在dotfuscator的UI中進行操做而後把這個文件保存下來,之後每次均可以用這個文件。spa
批處理代碼以下:命令行
@echo off REM 聲明採用UTF-8編碼 chcp 65001 REM 刪除發佈文件 del /s /f /q C:\D\98publish\06Dotfucator\01WebApi\Release\*.* REM 刪除混淆文件 del /s /f /q C:\D\98publish\06Dotfucator\01WebApi\Dotfuscated\*.* REM 獲取最最新tfs代碼 "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\tf" get C:\D\02tfs_code\01tesla\SourceCode /login:"用戶名","密碼" REM 發佈WebApi文件 MSBuild C:\D\02tfs_code\xxx\SourceCode\xxx\xxx.csproj /p:Configuration=Release /p:DeployOnBuild=true /p:PublishProfile=C:\D\02tfs_code\xxx\SourceCode\xxx\Properties\PublishProfiles\PublishPub.pubxml /p:VisualStudioVersion=12.0 REM 混淆文件 "C:\Program Files (x86)\PreEmptive Solutions\Dotfuscator Professional Edition 4.9\dotfuscator" /q ".\Test.xml" pause
其中tfs獲取最新代碼的時候須要用戶名和密碼,PublishPub.pubxml是發佈的配置文件。將上面的代碼保存成一個test_dotfuscator.bat。注意文件路徑等須要根據本身的須要進行更改。其中xxx是代指。須要調整爲本身項目的路徑或者名稱.3d
緣由是VS2013的dotfuscator是社區版本的,而且沒有命令行的方式。因此運行命令只會打開dotfuscator的用戶界面。code
Dotfuscator分爲兩個版本:一個是專業版本:dotfuscator professional edition,一個是:Dotfuscator CE社區版本。orm
VS2013自帶了一個PreEmptive Dotfuscator and Analytics Community Edition,是一個社區版本的xml
,而且它只有圖形界面的方式dotfuscator.exe,沒有命令行dotfuscatorCLI.exe的方式。
PreEmptive Dotfuscator and Analytics Community Edition 中的 dotfuscator.exe 是打開GUI的界面,只會打開界面不會執行
PreEmptive Dotfuscator and Analytics Community Edition 中的 dotfuscatorCLI.exe 是命令行模式。
安裝路徑下的截圖以下。
兩個版本的區別以下:
https://www.preemptive.com/products/dotfuscator/compare-editions
VS2013是集成dotfucator的,她沒有更新也不能夠下載,卸載我也沒能實現,由於在uninstall裏面不知道卸載哪個?最後直接放棄這種思路。安裝了一個破解版本的dotfuscator.
我覺得的緣由是,發佈以後第三方的dll就不知道從哪裏拿?
實際上的緣由是,發佈以後,全部的dll都在bin目錄下,可是由於同一個dll引用的版本不同,而發佈的同一個dll名稱只發佈一個,因此就形成有的dll可能沒有在發佈的bin目錄下找到的緣由。
解決方法:
第一種,把全部的相同的dll都使用同一個版本的dll
第二種,使用自定義的dll路徑,以下圖: