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