Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 38548|Antwort: 2

[Quelle] Die Auswirkungen der dll.refresh-Datei beim Referenzen auf die Projektklassenbibliothek

[Link kopieren]
Veröffentlicht am 04.05.2020 20:42:50 | | |
Wie wir alle wissen, generieren .net-Programme .dll Dateien im bin-Verzeichnis, nachdem sie generiert wurden, aber woher kommt die Datei .dll.refresh? Ich habe an diesem Tag nach Langeweile gegoogelt und herausgefunden, dass dies automatisch generiert wird, wenn man auf eine Drittanbieter-Assembler (Direct) in deinem Projekt verweist; diese .refresh-Datei speichert den ursprünglichen Dateipfad dieser Drittanbieterdatei; wenn die DLL unter diesem Pfad aktualisiert wird, wird die Assembler entsprechend dieser Adresse aktualisiert und geändert, wenn das Projekt generiert wird. Ohne diese Datei kann VS die referenzierte Assembly nicht entsprechend dem neuesten Status aktualisieren, was das Problem verursacht, dass die Assemblerversion falsch ist. Ein kleines Detail führt zu einem großen Problem, alle aufmerksam!

Eine neue Version der Website wurde veröffentlicht, und es wurde ein ernstes Problem entdeckt, bei dem eine der Bibliotheken nicht automatisch aktualisiert, sondern eine veraltete Version automatisch generiert wurde.

Nach der Untersuchung stellte sich heraus, dass es mit einer dll.refresh-Datei in VSS zusammenhing.

Der Grund ist einfach:

1。 Während des Entwicklungsprozesses, wenn weitere externe DLL-Referenzen zur Website hinzugefügt werden, erzeugt das System automatisch die Aktualisierungsdatei, und diese Datei wird nicht generiert, wenn andere Projekt-DLL-Referenzen unter dieser Lösung hinzugefügt werden

2。 Die Aktualisierungsdatei legt den Pfad zur automatischen Aktualisierung der DLL fest, und wenn es sich um eine Bibliotheksreferenz handelt, gibt sie das Dubug- oder Release-Verzeichnis an, und die diesmal fehlerhafte Datei ist das Debug-Verzeichnis

3。 Der Entwickler hat die Datei versehentlich in die VSS-Codebasis eingecheckt

4。 Das Problem ist, dass sich die Referenzbibliothek nach der Veröffentlichung der ersten Version mehrfach geändert hat, aber die Benutzeroberfläche nicht verändert wurde, sodass die Bibliothek separat generiert wird und dann nur die entsprechende DLL (Release-Version) aller Anwendungen aktualisiert wird, und es gab kein Problem, aber wenn eine Anwendung neu veröffentlicht wird, wird aufgrund der Existenz einer Aktualisierungsdatei im BIN-Verzeichnis des Projekts die DLL automatisch mit dem von der Datei angegebenen Pfad aktualisiert, was zur Veröffentlichung der alten Version (Debug-Version) führt.

Problemlösung:

Lösche die Datei dll.refresh in der App und veröffentliche die App erneut

Oder ändere den Inhalt in dll.refresh und schreibe den DLL-Pfad korrekt





Vorhergehend:Datenbankschema: Lese- und Schreibtrennung zu CQRS
Nächster:NPM-Methode zum Einrichten und Abbrechen von Proxys
 Vermieter| Veröffentlicht am 04.05.2020 20:44:32 |
Das Referenzieren einer externen DLL-Datei in VS2005 erzeugt eine Endung namens .refresh,
Wenn du auf ein System.Web.Extensions.dll referenzierst, generiert es automatisch ein System.Web.Extensions.dll.refresh, das den absoluten Pfad dieser DLL enthält.
Hinweis: Nach dem Löschen aktualisiert VS2005 die dll, auf die du über den Dateipfad referenzierst, nicht automatisch ins BIN-Verzeichnis. Das bedeutet, dass du, wenn die von dir referenzierte DLL aktualisiert wird, sie manuell neu referenzieren musst.
 Vermieter| Veröffentlicht am 17.05.2020 11:51:33 |
Test
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com