See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 38548|Vastuse: 2

[Allikas] dll.refresh faili mõju projektiklassi teegi viitamisel

[Kopeeri link]
Postitatud 04.05.2020 20:42:50 | | |
Nagu me kõik teame, genereerivad .net programmid .dll faile bin kataloogis pärast nende loomist, aga kust tuleb fail .dll.refresh? Googeldasin sel päeval "Igavust" ja avastasin, et see genereeritakse automaatselt, kui viidata kolmanda osapoole assemblerile (otse) sinu projektis, see .refresh fail salvestab selle kolmanda osapoole faili algse failitee, kui selle tee all olev dll uuendatakse, võrreldes projekti genereerimisega uuendatakse ja muudetakse assemblerit vastavalt sellele aadressile. Ilma selle failita ei saa VS viidatud assemblerit uuendada vastavalt viimasele olekule, mis põhjustab assamblee versiooni vale olemise probleemi. Väike detail viib suure probleemini, kõik pöörake tähelepanu!

Ilmus uus veebilehe versioon ning avastati tõsine probleem, kus üks raamatukogu ei olnud automaatselt uuendatud, kuid vananenud versioon genereeriti automaatselt.

Pärast uurimist selgus, et see oli seotud VSS-i dll.refresh failiga.

Põhjus on lihtne:

1。 Arendusprotsessi käigus, kui veebilehele lisatakse teisi väliseid DLL-viiteid, genereerib süsteem automaatselt värskendusfaili ning seda faili ei genereerita, kui selle lahenduse alla lisatakse teisi projekti DLL-viiteid

2。 Refresh fail määrab tee dll-i automaatseks uuendamiseks ning kui tegemist on teegi viitega, siis määratakse Dubug või Release kausta, ning seekord viga on Debug kataloog

3。 Arendaja kontrollis faili ekslikult VSS koodibaasi

4。 Probleem on selles, et viiteteek on pärast esimese versiooni ilmumist mitu korda muutunud, kuid liides pole muutunud, seega genereeritakse teek eraldi ja siis uuendatakse ainult vastavat DLL-i (Release versioon) kõigist rakendustest, ning probleeme pole olnud, kuid kui rakendus avaldatakse uuesti, uuendatakse DLL-i automaatselt faili määratud teekonnaga, mis viib vana versiooni DLL-i (Debug versiooni) väljalaskmiseni.

Probleemide lahendamine:

Kustuta rakendusest dll.refresh fail ja avalda rakendus uuesti

Või muuta dll.refresh sisu ja kirjutada dll tee õigesti





Eelmine:Andmebaasi skeem: lugemis- ja kirjutamiseraldus CQRS-iks
Järgmine:NPM-meetod prokside seadistamiseks ja tühistamiseks
 Üürileandja| Postitatud 04.05.2020 20:44:32 |
VS2005-s välise dll-faili viitamine annab laienduse nimega .refresh,
Kui viitad System.Web.Extensions.dll-le, genereerib see automaatselt System.Web.Extensions.dll.refreshi, mis sisaldab selle dll-i absoluutset teed.
Märkus: Pärast kustutamist ei uuenda VS2005 automaatselt viidatud dll-faili tee kaudu bin-kataloogi. See tähendab, et kui viidatud DLL uuendatakse, pead selle ise käsitsi uuesti viitama.
 Üürileandja| Postitatud 17.05.2020 11:51:33 |
katse
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com