Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 38548|Vastaus: 2

[Lähde] dll.refresh-tiedoston vaikutus, kun viitataan projektiluokkakirjastoon

[Kopioi linkki]
Julkaistu 4.5.2020 20.42.50 | | |
Kuten kaikki tiedämme, .net-ohjelmat tuottavat .dll tiedostoja bin-hakemistossa niiden luomisen jälkeen, mutta mistä tiedosto .dll.refresh tulee? Googlasin tylsyyttä sinä päivänä ja huomasin, että tämä generoidaan automaattisesti, kun viitataan kolmannen osapuolen assemblyyn (suoraan) projektissasi, tämä .refresh -tiedosto tallentaa kyseisen kolmannen osapuolen tiedoston alkuperäisen tiedostopolun, jos tämän polun alla oleva dll päivitetään, verrattuna projektin generointiin, assembleri päivittyy ja muutetaan tämän osoitteen mukaan. Ilman tätä tiedostoa VS ei pysty päivittämään viitattua assemblyä viimeisimmän tilan mukaan, mikä aiheuttaa ongelman, että assembler-versio on virheellinen. Pieni yksityiskohta johtaa isoon ongelmaan, kaikki kiinnittäkää huomiota!

Verkkosivustosta julkaistiin uusi versio, ja vakava ongelma havaittiin, jossa yksi kirjastoista ei päivittynyt automaattisesti, vaan vanhentunut versio luotiin automaattisesti.

Tutkimuksen jälkeen selvisi, että se liittyi VSS:n dll.refresh-tiedostoon.

Syy on yksinkertainen:

1。 Kehitysprosessin aikana, kun verkkosivustolle lisätään muita ulkoisia DLL-viittauksia, järjestelmä generoi automaattisesti päivitystiedoston, eikä tätä tiedostoa luoda, jos tähän ratkaisuun lisätään muita projektin DLL-viittauksia

2。 Refresh-tiedosto määrittää polun, jolla dll päivitetään automaattisesti, ja jos kyseessä on kirjaston viite, se määrittää Dubug- tai Release-hakemiston, ja tällä kertaa virheen saanut tiedosto on Debug-hakemisto

3。 Kehittäjä tarkisti tiedoston vahingossa VSS-koodipohjaan

4。 Ongelma on, että viitekirjasto on muuttunut monta kertaa ensimmäisen version julkaisun jälkeen, mutta rajapinta ei ole muuttunut, joten kirjasto luodaan erikseen, ja silloin päivitetään vain vastaava DLL (Release version) kaikista sovelluksista, eikä ongelmia ole ollut, mutta kun sovellus julkaistaan uudelleen, koska BIN-hakemistossa on päivitystiedosto, DLL päivittyy automaattisesti tiedoston määrittelemällä polulla, mikä johtaa vanhan version DLL:n (Debug-version) julkaisuun.

Ongelmanratkaisu:

Poista dll.refresh-tiedosto sovelluksesta ja julkaise sovellus uudelleen

Tai muokata sisältöä dll.refreshissä ja kirjoittaa dll-polku oikein





Edellinen:Tietokantaskeema: Luku- ja kirjoituserotus CQRS:ään
Seuraava:NPM-menetelmä proxyjen asettamiseen ja peruutukseen
 Vuokraisäntä| Julkaistu 4.5.2020 20.44.32 |
Viittaamalla ulkoiseen dll-tiedostoon VS2005:ssä saadaan pääte nimeltä .refresh,
Jos viittaat System.Web.Extensions.dll, se luo automaattisesti System.Web.Extensions.dll.refreshin, joka sisältää tämän dll:n absoluuttisen polun.
Huomautus: Poistamisen jälkeen VS2005 ei päivitä automaattisesti viittaamaasi dll-tiedostoa tiedostopolun kautta bin-hakemistoon. Tämä tarkoittaa, että jos viittaamasi dll päivitetään, sinun täytyy viitata siihen manuaalisesti uudelleen.
 Vuokraisäntä| Julkaistu 17.5.2020 11.51.33 |
testi
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com