maandag 19 november 2018

Using NuGet.Core PackageDownloader

Using the nuget.core library in C# to download all packages from a nuget repository is difficult. The class PackageDownloader is not handy. I ended up using the WebClient to download the package.
This is the code:
string nugetBase = "http://proget.company.com/nuget/company-repo";
IPackageRepository repo = PackageRepositoryFactory.Default.CreateRepository(nugetBase);
var query = repo.Search("", true);
string path = "c:\\packages";

WebClient cln = new WebClient();
foreach (DataServicePackage elem in query)
{
    string dir = path + "\\" + elem.Id;
    if (!Directory.Exists(dir))
    {
        Directory.CreateDirectory(dir);
    }
    cln.DownloadFile(elem.DownloadUrl.AbsoluteUri,  (path + "\\" + elem.Id + "\\" + elem.Id + "." + elem.Version + ".nupkg"));
}


donderdag 1 november 2018

CSS3: box-sizing

Stel je hebt een element die height: 100% heeft. Dan krijg je een scrollbar op het moment dat je een margin of padding op het element zet.
Je kunt het probleem oplossen door de CSS3 attribuut   box-sizing: border-box;   te gebruiken op het element. De grootte van het element wordt dan berekend inclusief margin en padding.

html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }