Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 5915|Antwoord: 2

[Bron] 【Tip】Development essential, controleer de dotnet-broncode

[Link kopiëren]
Geplaatst op 28-05-2022 20:36:06 | | | |
Vereisten: Bij het gebruik van ASP.NET Core om projecten te ontwikkelen, moet je verschillende objecten gebruiken die al zijn geschreven, en soms moet je de implementatie van de broncode controleren voor diepgaand onderzoek, hoe bekijk je de dotnet-broncode?

Ik opende vroeger de GitHub-website en zocht in de dotnet open source repository, je kunt het volgende raadplegen:


Een van de nadelen van het gebruik van deze methode is dat door problemen met de binnenlandse netwerkomgeving,De openingssnelheid is relatief traag, en de zoekopdracht vereist nog steeds inloggen, en de zoekopdracht is ook relatief traag! Is er een betere manier om de dotnet-broncode te bekijken?

.NET Source BrowserDe hyperlink-login is zichtbaar.

Open de .NET Source Browser onlinewebsite, je kunt direct online zoeken, de zoekopdracht is handiger en zeer snel, als volgt:



Je kunt ook alle locaties zien waar het trefwoord wordt gebruikt door er dubbel op te klikken, zoals hieronder weergegeven:




De website is eigenlijk een online website die wordt gegenereerd door de SourceBrowser-tool, en natuurlijk kun je zo'n website ook genereren vanuit de broncode van je eigen project.

BronBrowseradres:De hyperlink-login is zichtbaar.

Gebruik bij het indexeren Roslyn om de C#- en VB-broncode te analyseren en in de outputmapGenereer een groot aantal statische gehyperlinkte HTML-bestanden。 Er is geen database. De website bestaat voornamelijk uit statische HTML, waarinAlle links, broncode-kleuring, enzovoort worden vooraf berekend tijdens het indextijdperk。 Alle hyperlinks zijn bedraad als eenvoudige links die de server omzeilen.

De enige component die op een webserver draait, is een dienst die een zoekopdracht opzoekt en een lijst teruggeeft van overeenkomende types en leden, die hyperlinks zijn naar statische HTML. De webservice houdt een lijst bij van alle gedeclareerde types en leden in het geheugen, die ook vooraf wordt berekend tijdens het indextijd. Alle diensten zoals Find All References, Project Explorer, enzovoort, zijn vooraf gerenderd.

De generator is niet incrementeel. Je moet elke keer een lege map vanaf nul genereren en vervolgens atomair de momenteel geïmplementeerde map vervangen door nieuwe content (bijvoorbeeld deployen met Azure, robocopy /MIR naar inetpub\wwwroot, enz.). Voor kleinere projecten is het uitrollen naar Azure via Dropbox of Git voldoende.

De auteur van SourceBrowser schreef een voorbeeld van het genereren van een online website uit hun eigen broncode met de volgende opdracht:

Start de gegenereerde website met het volgende commando:

De renderings zijn als volgt:



SourceBrowser is ontworpen om zeer schaalbaar te zijn. het60 miljoen regels code kunnen gemakkelijk worden verwerkt(broncode voor alle Microsoft-ontwikkelingsafdelingen), enHet kan eenvoudig worden opgeschaald tot 100 miljoen rijen。 Dit betekent dat er momenteel ongeveer 6 miljoen symbolen zijn (4 GB RAM).

(Einde)




Vorig:Praktisch gebruik van GitHub Actions om OpenWRT-firmware te compileren
Volgend:RecyclableMemoryStream biedt high-performance .NET-streaming
Geplaatst op 28-05-2022 21:39:15 |
Leer leren
 Huisbaas| Geplaatst op 12-06-2022 11:47:45 |
.NET Framework broncodezoekopdracht:https://referencesource.microsoft.com/
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com