У меня возникла проблема переименования файла ICSharpCode.SharpZipLib.dll в anythig else. Я пытаюсь сократить имя файла. Я ссылаюсь на сборку в проекте, но когда программа достигает инструкций, в которых я использую библиотеку. Он порождает ошибку, которая не может найти сборку или файл «ICSharpCode.SharpZipLib». Когда я меняю имя файла на ICSharpCode.SharpZipLib.dll, приложение работает норамально. Итак, есть ли способ изменить имя файла. Кроме того, я могу изменить его, не нарушая лицензию (я собираюсь использовать его в коммерческом приложении). Благодарю.Переименование ICSharpCode.SharpZipLib.dll
ответ
SInce вы переименовали DLL, среда выполнения .Net не знает, как найти ее автоматически.
Вы можете позвонить Assembly.Load
, чтобы вручную загрузить переименованный файл.
Обратите внимание, что вам нужно будет сделать это до вызова любых методов, которые используют сборку, поскольку JITTER необходимо загрузить все типы, используемые (напрямую) методом до начала запуска метода.
SLaks, это не сработало. –
@John: Вы, вероятно, загрузили его слишком поздно. Загрузите его перед вызовом любых методов, которые его используют, чтобы JITter смог его найти. – SLaks
Slaks, это то, что я сделал точно (я загрузил сборку на событие загрузки формы). Я потратил около 6 часов на поиск ответа, но то, что я должен был сделать, - это заглянуть в документацию. Проведя примерно полчаса чтения о том, как выполняется разрешение на сборку, я выяснил, как ее следует обрабатывать. Большое спасибо за ваше время. –
DLL скомпилирован, поэтому переименование файла в любом случае не изменит его namespace
. Вы можете назначить ему псевдоним с помощью директивы using
.
using zip = ICSharpCode.SharpZipLib;
Он пытается сократить имя _file_. – SLaks
Да, я хочу сократить имя файла. –
Вы можете попытаться разобрать библиотеку, а затем снова собрать новое имя.
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 в проект
Мне также пришлось отредактировать промежуточный (.il) файл и найти/заменить старое имя на новое имя. Замены произошли, в частности, в записях «сборка» и «.module». Это, безусловно, самый простой способ переименовать сборку. Благодарю. – Jin
Это замечательно, но это не работает, когда есть неуправляемый код. – nurettin
- 1. Java: переименование файлов - неправильное переименование файлов
- 2. Переименование вещей
- 3. Переименование файла
- 4. Переименование Service1SoapClient
- 5. Переименование "!" и «-»
- 6. переименование проекта
- 7. Переименование потока
- 8. Переименование Rootviewcontroller
- 9. Переименование списков
- 10. Переименование макроса
- 11. Переименование RandomAccessFile
- 12. Переименование таблицы
- 13. Переименование файла
- 14. Переименование файла класса больше не запрашивает переименование всех вхождений
- 15. Переименование файла с nodejs
- 16. объекта недвижимости Переименование
- 17. Переименование запертой таблицы
- 18. Переименование папок после копирования
- 19. Переименование имени приложения
- 20. Переименование пространств имен
- 21. Переименование имени пакета проекта
- 22. Переименование таблицы 100GB
- 23. переименование файлов/удаление
- 24. Переименование книги при открытии
- 25. переименование индекс панд dataframe
- 26. Переименование по умолчанию XMLNS
- 27. Переименование столбцов в Python
- 28. Переименование файлов в папке
- 29. Переименование папок в TFS
- 30. Переименование поля в объекте
Вероятно, вы имеете ссылку в вашем приложении, которое до сих пор ссылается на имя, прежде чем переименован в сборе? –
Просто любопытно, что именно происходит с длиной имени? –
В вычислениях имена только становятся описательными, мы оставляем много ужасных ошибок; Здесь вы надеетесь, что не создаете машину времени, чтобы забрать нас туда. –