Skip to content

Instantly share code, notes, and snippets.

Nate McMaster natemcmaster

View GitHub Profile
@natemcmaster
natemcmaster / README.md
Last active Jun 23, 2020
runtimeconfig.json schema
View README.md

This defines the schema for .NET Core's runtimeconfig.json file.

Usage in an editor

Using Visual Studio, you can get auto-completion if you import the schema in your .JSON file like this:

{
  "$schema": "https://gist.githubusercontent.com/natemcmaster/0bdee16450f8ec1823f2c11af880ceeb/raw/runtimeconfig.template.schema.json"
}
View MyNuGetLogger.cs
using System.Threading.Tasks;
using McMaster.Extensions.CommandLineUtils;
using NuGet.Common;
namespace custom_restore
{
internal class MyNuGetLogger : LoggerBase
{
private IReporter _reporter;
@natemcmaster
natemcmaster / kestrel.md
Last active Mar 5, 2018
Design meeting notes: 2018-03-02 - Libuv and source build
View kestrel.md

Problem

In an effort to make it possible to build ASP.NET Core from source code only on a single machine without access to NuGet.org or already-built assets, we need to revisit the structuring of our package dependencies. The NuGet package that contains Libuv bundles binaries built on macOS, Windows, and Linux. This means it is not possible to build the package, Libuv.nupkg, from source code only -- you must have multiple machines. Furthermore, because Microsoft.AspNetCore.App depends on this package via transitive reference through Microsoft.AspNetCore.Server.Kestrel, a project restore against source-built only packages cannot succeed in offline mode.

Slide1

Possible solutions

We went over ways we could solve this. This includes:

@natemcmaster
natemcmaster / dependencies.props
Last active Nov 15, 2017
ASP.NET Core 2.0.3 package versions
View dependencies.props
<Project>
<PropertyGroup>
<MicrosoftAspNetCorePackageVersion>2.0.1</MicrosoftAspNetCorePackageVersion>
<MicrosoftAspNetCoreAllPackageVersion>2.0.3</MicrosoftAspNetCoreAllPackageVersion>
<MicrosoftAspNetCoreAntiforgeryPackageVersion>2.0.1</MicrosoftAspNetCoreAntiforgeryPackageVersion>
<MicrosoftAspNetCoreApplicationInsightsHostingStartupPackageVersion>2.0.1</MicrosoftAspNetCoreApplicationInsightsHostingStartupPackageVersion>
<MicrosoftAspNetCoreAuthenticationAbstractionsPackageVersion>2.0.1</MicrosoftAspNetCoreAuthenticationAbstractionsPackageVersion>
<MicrosoftAspNetCoreAuthenticationCookiesPackageVersion>2.0.1</MicrosoftAspNetCoreAuthenticationCookiesPackageVersion>
<MicrosoftAspNetCoreAuthenticationCorePackageVersion>2.0.1</MicrosoftAspNetCoreAuthenticationCorePackageVersion>
<MicrosoftAspNetCoreAuthenticationFacebookPackageVersion>2.0.1</MicrosoftAspNetCoreAuthenticationFacebookPackageVersion>
@natemcmaster
natemcmaster / README.md
Last active Jul 2, 2020
ContentRoot, WebRoot, BaseDirectory, and CurrentDirectory
View README.md

Assuming you use template defaults

public static void Main()
{
  var host = new WebHostBuilder()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .Build();
}

public Startup(IHostingEnvironment env)
View Program.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Diagnostics;
namespace DotnetNames.Tool
{
class Program
{
@natemcmaster
natemcmaster / zip2tgz.sh
Last active May 6, 2020
Convert zip to tar.gz file
View zip2tgz.sh
#!/usr/bin/env bash
if [[ $# < 2 ]]; then
echo "Usage: [src] [dest]"
exit 1
fi
function realpath() {
[[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"
}
@natemcmaster
natemcmaster / package.json
Created Oct 7, 2016
dotnet-sql-cache as NPM package
View package.json
{
"name": "dotnet-sql-cache",
"version": "1.0.0-preview2-final",
"bin": { "dotnet-sql-cache": "./shim.js" },
"files": [
"shim.js",
"**/*.dll",
"*.runtimeconfig.json",
"*.deps.json",
"runtimes/**/*"
@natemcmaster
natemcmaster / Program.cs
Last active Sep 1, 2016
Which file attributes?
View Program.cs
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
foreach (var file in args)
{
var attributes = new FileInfo(file).Attributes;
@natemcmaster
natemcmaster / README.md
Created Sep 1, 2016
Echo command line args
View README.md

Compile in Developer Command Prompt for VS 2015

PS> cl echo.c 
You can’t perform that action at this time.