我給3倍的DLL(API到外部系統),我可以使用那些與我的可執行文件在Windows 7 32位.NET 4強名稱internalsvisibleto 32位.NET 4.0
然後,我需要我簽字可執行用強名。
它強制API DLLs也將被用相同的強名稱簽名,如果我理解正確的話。 (ildasm/ilasm,或殘酷的開發人員,或Crypto混淆器),並嘗試了所有我把手放在上面。然而,仍然得到「強名稱簽名的程序集必須在其InternalsVisibleTo聲明中指定一個公鑰」。
任何人都在那裏也設法安全地出去?
問候, 奧倫
PS 1,我沒有管理,使其在Windows 7 64位(有3個API的DLL文件用加密混淆由先前開發完成簽署)工作。我開始調查它在32位時無法工作,並且我意識到我正在使用已簽名的DLL。然後我找到了原始的DLL,但是隻能在我的程序集和API中都沒有「強名稱」的情況下運行。任何其他組合,即使我的程序集未簽名(或者我所知道的所有內容都已簽名),都不起作用。我也有我的另一個DLL,它與可執行文件(我簽署兩個,所以我總共有5個程序集,2我的和3給出)很好地工作,我不知道它是相關的,但無論如何它帶來了。
不是*相同*強名。你只需要在'InternalsVisibleTo'屬性聲明中指定公鑰。這個錯誤信息很清楚。你爲什麼試圖破解你的API DLL的內部?他們可能是內部的原因。 – Luaan
嗨Luaan。我可以在我的可執行文件中指定InternalsVisibleTo中的公鑰。我試過這個。但是我無法訪問API DLLs源代碼,我不確定爲什麼我會考慮觸摸它們的內部。我只是遵循他們給出的一個例子。我在所有地方和所有嘗試中都使用了同樣的強名。這是我從調查中得出的結果(嘗試簽署無法使用相同強名稱訪問的DLL)。 – Oren
哦,你需要你的應用程序進行簽名,而第三方庫沒有簽名版本? – Luaan