|
這段時間為跟蹤一個Bug而焦頭爛額,最后發現是Framework的問題,這讓人多少有些絕望。所以到微軟論壇提了個帖子,希望能得到些幫助。雖然論壇智能到能夠判斷樓主是否是MSDN訂閱用戶,以便盡快解決(傳說MSDN訂閱用戶的問題能在兩天內得到回復的,當時還很得意公司為我們購買的MSDN訂閱賬號),但得到的回復是“Could you file a bug report for this issue through Connect?”,絕望之后的又一次寒心啊。
看過payeasy的廣告之后,便有了以下的這些內容,如何修改.NET framework:
這里我們以修改Guid類為例,我們將修改這個類的內部構造,以便其始終構造值為0值(00000000-0000-0000-000000000000)的對象
1,知道你要修改誰(dll的名稱)
這很簡單, 翻翻MSDN,你應該能找到你所調用的類庫是哪一個,或者使用reflector可以得到更詳盡的信息。從MSDN得知,Guid類在mscorlib.dll中
2,找到你要修改的dll,并拷貝出來,以便修改
mscorlib.dll位于GAC中,很可惜,windows只允許按照“可遠觀不可褻玩"的方式靜靜欣賞(盡管心急如焚)
我們現在需要將該dll在操作系統中的實際路徑找出來。
2.1 下載FileMon,其用于監視文件的被訪問情況,我們可以通過他,找到文件路徑。
2.2 寫一個小程序,讓該程序去訪問(引用)你需要查找路徑的文件,這里也就是我們的mscorlib。
{
Guid guid = Guid.NewGuid();
Console.WriteLine(guid);
Console.Read();
}
NET技術:如何通過ildasm/ilasm修改assembly的IL代碼,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。