Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 38548|Atsakyti: 2

[Šaltinis] Failo dll.refresh poveikis nurodant projekto klasės biblioteką

[Kopijuoti nuorodą]
Paskelbta 2020-05-04 20:42:50 | | |
Kaip visi žinome, .net programos sugeneruos .dll failus šiukšliadėžės kataloge po to, kai jie bus sugeneruoti, bet iš kur atsiranda failas .dll.refresh? Aš googled nuobodulys tą dieną ir sužinojau, kad tai automatiškai sugeneruojama, kai nuoroda į trečiosios šalies asamblėją (tiesioginis) jūsų projekte, šis .refresh failas saugo originalų failo kelią, kad trečiosios šalies failas, jei dll pagal šį kelią yra atnaujintas, vs, kai projektas yra sugeneruotas, asamblėja bus atnaujinta ir pakeista pagal šį adresą. Be šio failo VS negalės atnaujinti nurodyto rinkinio pagal naujausią būseną, todėl surinkimo versija bus neteisinga. Maža detalė sukels didelę problemą, visi atkreipia dėmesį!

Buvo išleista nauja svetainės versija ir aptikta rimta problema, kai viena iš bibliotekų nebuvo automatiškai atnaujinta, bet automatiškai sugeneruota pasenusi versija.

Po tyrimo paaiškėjo, kad jis susijęs su dll.refresh failu VSS.

Priežastis paprasta:

1。 Kūrimo proceso metu, kai į svetainę įtraukiamos kitos išorinės DLL nuorodos, sistema automatiškai sugeneruoja atnaujinimo failą ir šis failas nebus generuojamas, jei pagal šį sprendimą bus įtrauktos kitos projekto DLL nuorodos

2。 Atnaujinimo failas nurodo automatinio dll atnaujinimo kelią, o jei tai yra bibliotekos nuoroda, jis nurodys katalogą Dubug arba Release, o failas, kuris šį kartą yra klaidingas, yra Debug katalogas

3。 Kūrėjas per klaidą patikrino failą VSS kodų bazėje

4。 Problema ta, kad išleidus pirmąją versiją, nuorodų biblioteka daug kartų keitėsi, tačiau sąsaja nepasikeitė, todėl biblioteka generuojama atskirai, o tada atnaujinama tik atitinkama visų programų DLL (leidimo versija), ir problemų nebuvo, tačiau pakartotinai paskelbus programą, dėl to, kad projekto BIN kataloge yra atnaujinimo failas, DLL automatiškai atnaujinamas failo nurodytu keliu, dėl kurio išleidžiama senoji versija DLL (Debug versija).

Problemų sprendimas:

Panaikinkite dll.refresh failą programoje ir iš naujo publikuokite programą

Arba pakeiskite turinį dll.refresh ir teisingai parašykite dll kelią





Ankstesnis:Duomenų bazės schema: skaitymo ir rašymo atskyrimas į CQRS
Kitą:npm tarpinių serverių nustatymo ir atšaukimo metodas
 Savininkas| Paskelbta 2020-05-04 20:44:32 |
Nuoroda į išorinį dll failą VS2005 sukuria plėtinį, vadinamą .refresh,
Jei nurodysite System.Web.Extensions.dll, jis automatiškai sugeneruos System.Web.Extensions.dll.refresh, kuriame yra absoliutus šio dll kelias.
Pastaba: Ištrynus VS2005 automatiškai neatnaujins dll per failo kelią į šiukšliadėžės katalogą. Tai reiškia, kad jei jūsų nurodytas dll bus atnaujintas, turėsite patys rankiniu būdu jį iš naujo nurodyti.
 Savininkas| Paskelbta 2020-05-17 11:51:33 |
Bandymo
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com