2011-01-13 61 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你在你的应用程序中的引用,仍引用名称重命名大会面前的项目