Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 38548|Atbildi: 2

[Avots] Faila dll.refresh ietekme, atsaucoties uz projekta klases bibliotēku

[Kopēt saiti]
Publicēts 04.05.2020 20:42:50 | | |
Kā mēs visi zinām, .net programmas ģenerēs .dll failus bin direktorijā pēc to ģenerēšanas, bet no kurienes nāk fails .dll.refresh? Tajā dienā es googlēju garlaicību un uzzināju, ka tas tiek automātiski ģenerēts, atsaucoties uz trešās puses asambleju (tiešo) jūsu projektā, šis .refresh fails saglabā šī trešās puses faila sākotnējo faila ceļu, ja dll zem šī ceļa tiek atjaunināts, salīdzinot ar projekta ģenerēšanu, montāža tiks atjaunināta un mainīta atbilstoši šai adresei. Bez šī faila VS nevarēs atjaunināt atsaucēto montāžu atbilstoši jaunākajam statusam, kas radīs problēmu, ka montāžas versija ir nepareiza. Neliela detaļa novedīs pie lielas problēmas, visi pievērš uzmanību!

Tika izlaista jauna vietnes versija, un tika atklāta nopietna problēma, kad viena no bibliotēkām netika automātiski atjaunināta, bet automātiski tika ģenerēta novecojusi versija.

Pēc izmeklēšanas izrādījās, ka tas ir saistīts ar dll.refresh failu VSS.

Iemesls ir vienkāršs:

1。 Izstrādes procesa laikā, kad tīmekļa vietnei tiek pievienotas citas ārējās DLL atsauces, sistēma automātiski ģenerē atsvaidzināšanas failu, un šis fails netiks ģenerēts, ja šajā risinājumā tiek pievienotas citas projekta DLL atsauces

2。 Atsvaidzināšanas fails norāda ceļu, lai automātiski atjauninātu dll, un, ja tā ir bibliotēkas atsauce, tas norāda direktoriju Dubug vai Release, un fails, kas šoreiz ir kļūdains, ir atkļūdošanas direktorijs

3。 Izstrādātājs kļūdaini pārbaudīja failu VSS kodu bāzē

4。 Problēma ir tāda, ka atsauces bibliotēka ir mainījusies daudzas reizes pēc pirmās versijas izlaišanas, bet saskarne nav mainījusies, tāpēc bibliotēka tiek ģenerēta atsevišķi, un pēc tam tiek atjaunināta tikai atbilstošā visu lietojumprogrammu DLL (izlaiduma versija), un nav bijušas problēmas, bet, kad lietojumprogramma tiek pārpublicēta, sakarā ar atsvaidzināšanas failu projekta BIN direktorijā, DLL tiek automātiski atjaunināts ar faila norādīto ceļu, kas noved pie vecās versijas DLL (atkļūdošanas versijas) izlaišanas.

Problēmu risināšana:

Izdzēsiet dll.refresh failu programmā un atkārtoti publicējiet programmu

Vai arī modificējiet saturu dll.refresh un pareizi ierakstiet dll ceļu





Iepriekšējo:Datu bāzes shēma: lasīšanas un rakstīšanas atdalīšana CQRS
Nākamo:NPM starpniekserveru iestatīšanas un atcelšanas metode
 Saimnieks| Publicēts 04.05.2020 20:44:32 |
Atsaucoties uz ārējo dll failu VS2005, tiek iegūts paplašinājums ar nosaukumu .refresh,
Ja atsaucaties uz System.Web.Extensions.dll, tas automātiski ģenerēs System.Web.Extensions.dll.refresh, kas satur šīs dll absolūto ceļu.
Piezīmes: Pēc dzēšanas VS2005 automātiski neatjauninās dll, uz kuru atsaucaties, izmantojot faila ceļu uz bin direktoriju. Tas nozīmē, ka, ja dll tiek atjaunināts, jums pašam būs manuāli jāatsaucas uz to.
 Saimnieks| Publicēts 17.05.2020 11:51:33 |
tests
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com