Skip to content

Instantly share code, notes, and snippets.

View nguerrera's full-sized avatar
🌴
I no longer work at Microsoft

Nick Guerrera nguerrera

🌴
I no longer work at Microsoft
View GitHub Profile

Make friendly client names

directive:
  - from: swagger-document
    where: $.paths["/$schemagroups/{group-name}/schemas/{schema-name}"].post.responses["200"].schema
    transform: >
      $["x-ms-client-name"] = "content";
  - from: swagger-document
    where: $.paths["/$schemagroups/{group-name}/schemas/{schema-name}"].post.responses["200"].headers["X-Schema-Type"]
Csc
Assembly = C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Roslyn\Microsoft.Build.Tasks.CodeAnalysis.dll
CommandLineArguments = C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Roslyn\csc.exe /nowarn:1701,1702,219,162 /reference:C:\Users\nicholg\Desktop\Test_ALC\CL.Interface\bin\Debug\netstandard2.0\CL.Interface.dll /reference:C:\Users\nicholg\.nuget\packages\microsoft.xmlserializer.generator\2.2.0-preview3.19551.4\lib\netstandard2.0\dotnet-Microsoft.XmlSerializer.Generator.dll /reference:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.CSharp.dll" /reference:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.Core.dll" /reference:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.dll" /reference:"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.P
@nguerrera
nguerrera / VersionCompare.proj
Created April 4, 2019 01:00
Fun with msbuild version comparison
<Project>
<Target Name="Demo">
<Message Condition="4.5.10 > 4.5.9" Text=":) Yay, 3 parts work!" Importance="High" />
<Message Condition="2.9 > 2.10" Text=":( Wait, those are version numbers!" Importance="High" />
</Target>
</Project>
@nguerrera
nguerrera / CountPlaceholders.cs
Created July 24, 2018 21:09
Counting placeholders
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine(CountPlaceholders("{0,3} {1:x} {{2}}"));
}
static int CountPlaceholders(string format)
@nguerrera
nguerrera / run-devenv-for-core-setup.cmd
Last active July 5, 2018 21:36
Make Test Explorer work in core-setup
:: this makes test explorer work, replace d:\src\core-setup with path to enlistment.
:: Found the env vars by running build -MsBuildLogging=/bl, then look at the Exec task in RunTest target
@setlocal
set NUGET_PACKAGES=D:\Src\core-setup\packages/
set TEST_ARTIFACTS=D:\Src\core-setup\Bin\tests\win-x64.Debug\
set TEST_TARGETRID=win-x64
set BUILDRID=win-x64
set BUILD_ARCHITECTURE=x64
set BUILD_CONFIGURATION=Debug
using System;
using System.Reflection.Metadata;
using System.Reflection.Metadata.Ecma335;
using System.Reflection.PortableExecutable;
class Program
{
static void Main()
{
using (var pe = new PEReader(...))
@nguerrera
nguerrera / gitconfig.ini
Created March 6, 2018 18:46
Git config to prevent pushing to unwanted places
; safety net to enforce fork -> upstream flow
[url "Don't push here. Fork and send PR."]
pushinsteadof = https://github.com/dotnet/
pushinsteadof = https://github.com/microsoft/
static void OpenEmbeddedResources(string path)
{
using (var peStream = File.OpenRead(path))
using (var peReader = new PEReader(peStream))
{
var mdReader = peReader.GetMetadataReader();
foreach (var resourceHandle in mdReader.ManifestResources)
{
var resource = mdReader.GetManifestResource(resourceHandle);
<ItemGroup Condition="'$(TargetFramework)' == 'net45'">
<PackageReference Include="DesktopOnlyDependency">
<Version>1.0.0</Version>
</PackageReference>
</ItemGroup>
@nguerrera
nguerrera / EmbedProposal.md
Last active July 25, 2016 22:36
Archive of PDB embedding proposal

This proposal addresses #5397, which requests a feature for embedding source code inside of a PDB.

I am committed to implementing this with whatever changes fall out from the review if it is approved. I have an initial implementation in a WIP PR (#12353) that I will evolve based on feedback here. Some details here are new based on recent offline feedback and not yet matched by the implementation.

Scenarios

Recap from #5397

  • During the build, source code is auto-generated and then compiled. This auto-generated source does not exist on source control server and is often not preserved as a build artifact. Even if it is preserved, it can't be indexed on a symbol server making acquisition difficult at debug time.
  • A company is OK from an IP standpoint to release source for some of their projects, but their source control system is behind a firewall. Their IT security policies prevent giving any external access to the source control system, which prevents typical usage of source server. They already