2017-05-30 86 views
0

後小我其實新反編譯&編譯的Dll &可執行文件。我最近使用.Net Reflector 9反編譯了一個.Net Dll。該Dll的初始大小爲245 KB。
然後我準備用他最新版本的MSBuild即14.我沒有做,除了在MyProject.csproj即NET的DLL出現編譯

<Reference Include="System.Data" /> 
<Reference Include="System.Windows.Forms" /> 
<Reference Include="System" /> 
<Reference Include="Microsoft.VisualBasic" /> 
**<Reference Include="System.xml" />** 

一行中的.cs文件進行任何更改因爲它給了重新編譯的dll我重複錯誤

我使用的命令是如下:

MSBuild /p:Configuration=Debug;Platform=x86;Outdir=F:\bin\Release\ F:\MyProject.csproj 

雖然構建成功編譯的DLL有一個非常小的尺寸是34 KB的。爲什麼?有重大遺漏嗎?

+0

原始文件可能有符號,源,地圖,而新的文件只是有可執行代碼。 – jdweng

+0

所以它是.net反射wasnt能夠正確反編譯DLL或導出的源代碼.. – CrazyFirewall

+0

是。反編譯可能是正確的,只是沒有源碼符號(變量名稱)是不正確的。 – jdweng

回答

-2

可能是你需要像這樣的: <Content Include="System.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> 代替 <Reference Include="System.xml" />

+0

沒有人應該永遠需要複製的DLL文件反編譯.NET Framework到任何地方。 – Nitram

+0

我的意思是的System.Xml不是system.xml.dll的只是XML文件。 –