Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 38548|Svar: 2

[Källa] Effekten av filen dll.refresh när man refererar till projektklassbiblioteket

[Kopiera länk]
Publicerad på 2020-05-04 20:42:50 | | |
Som vi alla vet genererar .net-program .dll filer i bin-katalogen efter att de har genererats, men varifrån kommer filen .dll.refresh? Jag googlade tristess den dagen och upptäckte att detta genereras automatiskt när man refererar till en tredjepartsassembler (direkt) i ditt projekt, denna .refresh-fil lagrar den ursprungliga filvägen för den tredjepartsfilen, om dll:n under denna sökväg uppdateras, kontra när projektet genereras, kommer assembleren att uppdateras och ändras enligt denna adress. Utan denna fil kommer VS inte att kunna uppdatera den refererade assembleren enligt senaste status, vilket orsakar problemet att assemblerversionen är felaktig. En liten detalj leder till ett stort problem, alla är uppmärksamma!

En ny version av webbplatsen släpptes, och ett allvarligt problem upptäcktes där ett av biblioteken inte automatiskt uppdaterades, utan en föråldrad version genererades automatiskt.

Efter undersökning visade det sig vara relaterat till en dll.refresh-fil i VSS.

Anledningen är enkel:

1。 Under utvecklingsprocessen, när andra externa DLL-referenser läggs till på webbplatsen, genererar systemet automatiskt uppdateringsfilen, och denna fil kommer inte att genereras om andra projekt-DLL-referenser läggs till under denna lösning

2。 Uppdateringsfilen specificerar sökvägen för att automatiskt uppdatera dll:n, och om det är en biblioteksreferens kommer den att ange Dubug- eller Release-katalogen, och filen som får fel denna gång är Debug-katalogen

3。 Utvecklaren råkade checka in filen i VSS-kodbasen

4。 Problemet är att referensbiblioteket har ändrats många gånger efter att den första versionen släppts, men gränssnittet har inte ändrats, så biblioteket genereras separat, och då uppdateras endast motsvarande DLL (Release version) av alla applikationer, och det har inte varit några problem, men när en applikation publiceras på nytt, på grund av att det finns en uppdateringsfil i projektets BIN-katalog, uppdateras DLL:n automatiskt med den sökväg som filens specificerade, vilket leder till att den gamla versionen av DLL:n (Debug-versionen) släpps.

Problemlösning:

Ta bort filen dll.refresh i appen och publicera appen igen

Eller ändra innehållet i dll.refresh och skriva dll-sökvägen korrekt





Föregående:Databasschema: Läs- och skrivseparation till CQRS
Nästa:NPM-metoden för att ställa in och avbryta proxyservrar
 Hyresvärd| Publicerad på 2020-05-04 20:44:32 |
Att referera till en extern dll-fil i VS2005 ger en filändelse kallad .refresh,
Om du refererar till en System.Web.Extensions.dll genereras automatiskt en System.Web.Extensions.dll.refresh, som innehåller den absoluta vägen för denna dll.
Observera: Efter att ha raderat filen uppdateras inte automatiskt den dll du refererar till via filsökvägen till bin-katalogen. Detta innebär att om dll:n du refererade till uppdateras måste du manuellt referera om den själv.
 Hyresvärd| Publicerad på 2020-05-17 11:51:33 |
test
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com