Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 38548|Răspunde: 2

[Sursă] Impactul fișierului dll.refresh atunci când se face referire la biblioteca de clase proiect

[Copiază linkul]
Postat pe 04.05.2020 20:42:50 | | |
După cum știm cu toții, programele .net generează .dll fișiere în directorul bin după ce sunt generate, dar de unde provine fișierul .dll.refresh? Am căutat pe Google "plictiseală" în acea zi și am descoperit că acest fișier este generat automat când faci referire la un asamblare (direct) al unei terțe părți în proiectul tău, acest fișier .refresh stochează calea originală a fișierului terț, iar dacă dll-ul de sub această cale este actualizat, față de momentul în care proiectul este generat, asamblarea va fi actualizată și modificată conform acestei adrese. Fără acest fișier, VS nu va putea actualiza asamblarea referențiată conform ultimei stări, ceea ce va cauza problema că versiunea de asamblare este incorectă. Un mic detaliu va duce la o problemă mare, fiți atenți toată lumea!

A fost lansată o nouă versiune a site-ului, iar o problemă serioasă a fost descoperită: una dintre biblioteci nu era actualizată automat, dar o versiune învechită era generată automat.

După investigație, s-a dovedit că era legat de un fișier dll.refresh în VSS.

Motivul este simplu:

1。 În timpul procesului de dezvoltare, când alte referințe DLL externe sunt adăugate pe site, sistemul generează automat fișierul de reîmprospătare, iar acest fișier nu va fi generat dacă alte referințe DLL de proiect sunt adăugate sub această soluție

2。 Fișierul refresh specifică calea pentru actualizarea automată a DLL-ului, iar dacă este o referință de bibliotecă, va specifica directorul Dubug sau Release, iar fișierul care este eroat de data aceasta este directorul Debug

3。 Dezvoltatorul a verificat din greșeală fișierul în baza de cod VSS

4。 Problema este că biblioteca de referință s-a schimbat de multe ori după lansarea primei versiuni, dar interfața nu s-a schimbat, așa că biblioteca este generată separat, iar apoi doar DLL-ul corespunzător (versiunea de lansare) a tuturor aplicațiilor este actualizată, iar nu a existat nicio problemă, dar când o aplicație este republicată, datorită existenței unui fișier refresh în directorul BIN al proiectului, DLL-ul este actualizat automat cu calea specificată de fișier, ceea ce duce la eliberarea vechii versiuni DLL (Debug version).

Rezolvarea problemelor:

Șterge fișierul dll.refresh din aplicație și republică aplicația

Sau modifică conținutul în dll.refresh și scrie corect calea dll





Precedent:Schema bazei de date: Separare pentru citire și scriere în CQRS
Următor:Metoda NPM pentru configurarea și anularea proxy-urilor
 Proprietarul| Postat pe 04.05.2020 20:44:32 |
Referențierea unui fișier dll extern în VS2005 produce o extensie numită .refresh,
Dacă faci referire la un System.Web.Extensions.dll, acesta va genera automat un System.Web.Extensions.dll.refresh, care conține calea absolută a acestui DLL.
Notă: După ștergere, VS2005 nu va actualiza automat DLL-ul pe care îl referi prin calea fișierului către directorul bin. Asta înseamnă că, dacă DLL-ul la care ai făcut referire este actualizat, va trebui să-l refaci tu însuți.
 Proprietarul| Postat pe 17.05.2020 11:51:33 |
testa
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com