Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 38548|Svar: 2

[Kilde] Effekten af dll.refresh-filen, når man refererer til projektklassebiblioteket

[Kopier link]
Opslået på 04/05/2020 20.42.50 | | |
Som vi alle ved, vil .net-programmer generere .dll filer i bin-mappen efter de er genereret, men hvor kommer filen .dll.refresh fra? Jeg googlede kedighed den dag og fandt ud af, at dette automatisk genereres, når man refererer til en tredjeparts assembly (direct) i dit projekt; denne .refresh-fil gemmer den oprindelige filsti for den tredjepartsfil, og hvis dll'en under denne sti opdateres, i modsætning til når projektet genereres, vil assemblyen blive opdateret og ændret i henhold til denne adresse. Uden denne fil vil VS ikke kunne opdatere den refererede assembly efter den seneste status, hvilket vil forårsage problemet med, at assembly-versionen er forkert. En lille detalje kan føre til et stort problem, alle skal være opmærksomme!

En ny version af hjemmesiden blev udgivet, og et alvorligt problem blev opdaget, hvor et af bibliotekerne ikke automatisk blev opdateret, men en forældet version automatisk blev genereret.

Efter undersøgelse viste det sig at være relateret til en dll.refresh-fil i VSS.

Årsagen er enkel:

1。 Under udviklingsprocessen, når andre eksterne DLL-referencer tilføjes til hjemmesiden, genererer systemet automatisk opdateringsfilen, og denne fil vil ikke blive genereret, hvis andre projekt-DLL-referencer tilføjes under denne løsning

2。 Opdateringsfilen specificerer stien til automatisk opdatering af dll'en, og hvis det er en biblioteksreference, vil den angive Dubug- eller Release-mappen, og den fil, der denne gang fejlbehæftes, er Debug-mappen

3。 Udvikleren tjekkede fejlagtigt filen ind i VSS-kodebasen

4。 Problemet er, at referencebiblioteket har ændret sig mange gange efter udgivelsen af den første version, men grænsefladen har ikke ændret sig, så biblioteket genereres separat, og derefter opdateres kun den tilsvarende DLL (Release version) af alle applikationer, og der har ikke været noget problem, men når en applikation genudgives, på grund af tilstedeværelsen af en opdateringsfil i projektets BIN-mappe, opdateres DLL'en automatisk med den sti, filen angiver, hvilket fører til udgivelsen af den gamle version af DLL (Debug version).

Problemløsning:

Slet dll.refresh-filen i appen og genudgiv appen

Eller modificere indholdet i dll.refresh og skrive dll-stien korrekt





Tidligere:Databaseskema: Læse- og skriveadskillelse til CQRS
Næste:NPM-metoden til opsætning og annullering af proxies
 Udlejer| Opslået på 04/05/2020 20.44.32 |
Ved at referere til en ekstern dll-fil i VS2005 produceres en endelse kaldet .refresh,
Hvis du refererer til en System.Web.Extensions.dll, vil den automatisk generere en System.Web.Extensions.dll.refresh, som indeholder den absolutte sti for denne dll.
Bemærk: Efter sletning vil VS2005 ikke automatisk opdatere den dll, du refererer til gennem filstien, til bin-mappen. Det betyder, at hvis den dll, du refererede til, er opdateret, skal du manuelt referere den igen.
 Udlejer| Opslået på 17/05/2020 11.51.33 |
test
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com