Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 38548|Отговор: 2

[Източник] Влиянието на файла dll.refresh при препращане към библиотеката с класове на проекта

[Копирай линк]
Публикувано в 4.05.2020 г. 20:42:50 ч. | | |
Както всички знаем, .net програмите ще генерират .dll файла в bin директорията след като са генерирани, но откъде идва файлът .dll.refresh? Потърсих в Google boedom онзи ден и разбрах, че това се генерира автоматично, когато се позоваваш на трета странна асемблер (директна) в проекта си, този .refresh файл съхранява оригиналния път на файла на трета страна, ако dll под този път се обнови, вместо когато проектът е генериран, асемблерът ще бъде обновен и променен според този адрес. Без този файл VS няма да може да актуализира реферираната асемблерна система според последния статус, което ще доведе до проблема с неправилната асемблерна версия. Малък детайл ще доведе до голям проблем, всички обърнете внимание!

Беше пусната нова версия на уебсайта и беше открит сериозен проблем, при който една от библиотеките не се обновяваше автоматично, а остаряла версия се генерираше автоматично.

След разследване се оказа, че е свързан с dll.refresh файл във VSS.

Причината е проста:

1。 По време на процеса на разработка, когато към уебсайта се добавят други външни DLL препратки, системата автоматично генерира файла за обновяване, който няма да бъде генериран, ако се добавят други препратки към DLL към проекта чрез това решение

2。 Файлът за обновяване определя пътя за автоматично обновяване на dll, и ако е библиотечна препратка, ще посочи директорията Dubug или Release, а този път файлът, който има грешка, е директорията Debug

3。 Разработчикът по погрешка е проверил файла в кодовата база на VSS

4。 Проблемът е, че референтната библиотека се е променяла многократно след пускането на първата версия, но интерфейсът не се е променил, така че библиотеката се генерира отделно, а след това се обновява само съответната DLL (версия на Release) на всички приложения, и няма проблем, но когато дадено приложение бъде препубликувано, поради наличието на файл за опресняване в директорията BIN на проекта, DLL автоматично се обновява с пътя, зададен от файла, което води до пускането на старата версия DLL (Debug версия).

Решаване на проблеми:

Изтрий файла dll.refresh в приложението и публикувай приложението отново

Или да модифицирам съдържанието в dll.refresh и да напишем правилния път на dll





Предишен:Схема на база данни: Чети и записване на разделяне в CQRS
Следващ:NPM метод за настройване и анулиране на проксита
 Хазяин| Публикувано в 4.05.2020 г. 20:44:32 ч. |
Позоваването на външен dll файл във VS2005 създава разширение, наречено .refresh,
Ако се позовавате на System.Web.Extensions.dll, автоматично ще генерира System.Web.Extensions.dll.refresh, който съдържа абсолютния път на този dll.
Забележка: След изтриване, VS2005 няма автоматично да обнови dll-а, към който се позовавате през пътя на файла към директорията на bin-а. Това означава, че ако DLL-ът, който споменахте, е обновен, ще трябва ръчно да го препратите сами.
 Хазяин| Публикувано в 17.05.2020 г. 11:51:33 ч. |
тест
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com