2013-08-22 21 views
-1

我的程序在編譯時已經可以在參考使用ilspy作爲更換組件,不同版本

Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 

我無法找到該版本組件中找到的組件特定版本。我丟失了文件。相反,我有版本

PublicKeyToken=null. 

我發現程序集可以手動安裝到GAC命名目錄與pulbic密鑰。

但它是不切實際的使用。

我碰到sn.exe -Vr switch來到這應該關掉版本驗證。

它的工作呀?有沒有人試過這個?

+0

是您的程序是在.NET開發。那麼它必須是一個AssemblyInfo.cs文件。在那裏你可以看到Assembly版本。 – csLijo

+0

這沒關係。我只是丟失了原始的DLL並且有一些沒有PK令牌。但系統需要使用我沒有的正確PK令牌。 – stepandohnal

回答

0

的GAC需要組件進行簽名,因此有一個公共密鑰。即使它起作用,嘗試破解它也不是一個好主意。難道你不能用之前使用過的鑰匙簽名嗎?或者重新編譯你的程序?

0

如果它不是一個過於複雜的系統,我會拆開,需要你沒有和修復在IL引用不是你有一個簽名的/ gac'd DLL exe文件。將IL重新組合到exe中。

邁克失速的博客是在解釋大部分還不錯:Debugabbility with Roundtripping Assemblies