Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 38548|Відповідь: 2

[Джерело] Вплив файлу dll.refresh при посиланні на бібліотеку класів проєкту

[Копіювати посилання]
Опубліковано 04.05.2020 20:42:50 | | |
Як усім відомо, .net-програми генерують .dll файли в папці bin після їх генерації, але звідки походить файл .dll.refresh? Того дня я загуглив інформацію про нудьгу і дізнався, що це автоматично генерується при посиланні на сторонню асемблю (direct) у вашому проєкті, цей файл .refresh зберігає оригінальний шлях до цього стороннього файлу, якщо dll за цим шляхом оновлюється, а не при створенні проєкту, асемблер оновлюється і змінюється відповідно до цієї адреси. Без цього файлу VS не зможе оновити згаданий асемблер відповідно до останнього статусу, що призведе до проблеми неправильної версії асемблера. Дрібниця призведе до великої проблеми, всі зверніть увагу!

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

Після розслідування виявилося, що це пов'язано з файлом dll.refresh у VSS.

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

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

2。 Файл оновлення вказує шлях для автоматичного оновлення dll, і якщо це посилання на бібліотеку, він вказує каталог Dubug або Release, а цього разу файл, який виходить з помилкою, — це каталог Debug

3。 Розробник помилково перевірив файл у коді VSS

4。 Проблема в тому, що бібліотека посилань змінювалася багато разів після випуску першої версії, але інтерфейс не змінювався, тому бібліотека генерується окремо, і тоді оновлюється лише відповідна DLL (версія випуску) усіх додатків, і проблем не виникало, але коли додаток повторно публікується через наявність файлу оновлення в каталозі BIN проєкту, DLL автоматично оновлюється шляхом, вказаним файлом, що призводить до випуску старої версії DLL (Debug версія).

Вирішення проблем:

Видаліть файл dll.refresh у додатку і опублікуйте його знову

Або змінити вміст у dll.refresh і правильно записати шлях до dll





Попередній:Схема бази даних: розділення читання та запису у CQRS
Наступний:Метод NPM для налаштування та скасування проксі
 Орендодавець| Опубліковано 04.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