dotnet sdk;msbuild;sdk;nuget;package;metadata;net9;net8;net7;net6;net5;netstandard;build automation;project structure;documentation;code quality;cross platform;github workflow;msbuildsdk;namespace generation;directory structure;solution discovery;multi target;error handling;project detection;console app;gui app;test project;package validation;source link;internals visible;hierarchical search;path based namespaces;robust configuration;automatic references;markdown integration;version management;multi framework;build props;build targets