.NET Core sa svakom verzijom donosi puno novosti i unapređenja.  U verziji 2.1 tu su i Global tools, koji omogućavaju da svoju cross-platform konzolnu .NET aplikaciju podelite sa svetom. Mada ova funkcionalnost nije velika u tehničkom smislu i već je poznata na drugim platformama, bitna je za .NET zajednicu jer je nastavak pozitivnog trenda u pravcu otvorenosti platforme i saradnje developera. U tom smislu ukratko predstavljamo kako možete instalirati .NET Core global tool, i između ostalih naš alat za čitanje meta podataka iz .NET assembly-ja, aver!

aver

Uz .NET assembly (dll ili exe fajl) se može popuniti nekoliko meta podataka koji ga opisuju, kao što su: AssemblyTitle, AssemblyCompany i AssemblyVersion. Problem nastaje jer assembly verzija može da se razlikuje od verzije fajla na fajl sistemu “FileVersion”, a tu je i verzija NuGet paketa koja je takođe nezavisna od pomenutih. Tako da smo u azbooky-ju povremeno dobijali greške posle pokretanje aplikacije izazvane neočekivanim verzijama biblioteka. Pretpostavka da su File i Assembly version iste је bila pogrešna. Čitanje Assembly version nije moguća bez malo .NET koda, dovijanjem kroz powershell, ili kreiranjem nove konzolne aplikacije, svejedno nije zgodno.

Tako smo došli na ideju da napravimo alat koji bi čitao Assembly version i ostale interesantne podatke .NET assembly-ja i podelimo ga sa zajednicom. Source kode je javno dostupan, možete ga naći na github repositoriju, već pretpostavljate da je korišćen f# :). Na github-u možete naći kratko uputstvo, tako da verujem da nećete imati problema sa korišćenjem, u nastavku teksta sledi jednostavan primer.

Pull request-i i komentari su dobrodošli. Ako do sada niste radili na open source projektima, a želite da se uključite nemojte biti stidljivi pomoći ćemo.

Instalacija global tool-a

Ako želite da koristite aver, pokrenete instalaciju komandom

>dotnet tool install -g aver

.Net Core CLI skida paket sa NuGet feed-a i konzolna aplikacija postaje dostupna i možete je izvršiti komandom

>aver Argu.dll
AssemblyVersion: 5.1.0.0

Više detalja o global tools možete naći na MSDN-u, dobar početak je .NET Core Global Tools overview. Nezvaničnu listu dostupnih alata možete naći na stranici dotnet-tools. Ima zgodnih alata, pored aver-a :), koristim dotnet-serve web server koji poslužuje folder u kom je pokrenut, sličan npm paketu serve.

Hvala Draganu, Bojanu i Milošu.

Leave a Reply