2011-01-13 49 views
1

好我有問題將ICSharpCode.SharpZipLib.dll文件重命名爲anythig其他。我正試圖縮短文件名稱。我在項目中引用程序集,但是當程序到達使用庫的語句時。它產生一個錯誤,它無法找到程序集或文件'ICSharpCode.SharpZipLib'。當我將文件名更改回ICSharpCode.SharpZipLib.dll時,應用程序可以正常工作。那麼,有沒有辦法改變文件名稱。另外,我是否允許在不違反許可證的情況下對其進行更改(我將在商業應用程序中使用它)。謝謝。重命名ICSharpCode.SharpZipLib.dll

+0

可能? – 2011-01-13 18:47:09

+1

只是好奇名稱長度到底是什麼問題? – 2011-01-13 18:52:57

+1

在計算中,名稱只是變得具有描述性,我們留下了許多可怕的錯誤;希望你沒有創造一個時間機器,讓我們回到那裏。 – 2011-01-13 19:08:13

回答

4

即使您重新命名了DLL,.Net運行時也不知道如何自動找到它。

您可以撥打Assembly.Load手動加載重命名文件。
請注意,在調用任何使用程序集的方法之前,您需要這樣做,因爲JITter需要在方法開始執行之前加載由方法直接使用的所有類型。

+0

SLaks,沒有工作。 – 2011-01-14 16:05:05

-2

該DLL被編譯爲重命名該文件不會改變namespace的內部。您可以通過using指令爲其分配別名。

using zip = ICSharpCode.SharpZipLib; 
5

您可以嘗試反彙編庫,然後重新組裝一個新名稱。

E.g.

1)打開Visual Studio命令提示符。

ildasm /all /out=ICSharpCode.SharpZipLib.il ICSharpCode.SharpZipLib.dll 
ilasm /dll /out=shortname.dll ICSharpCode.SharpZipLib.il 

2)添加到shortname.dll你在你的應用程序中的引用,仍引用名稱重命名大會面前的項目