Skip to content

Instantly share code, notes, and snippets.

View kzu's full-sized avatar
💚
Attempt #3 at OSS sustainability, with OSMF now🫰

Daniel Cazzulino kzu

💚
Attempt #3 at OSS sustainability, with OSMF now🫰
View GitHub Profile
@kzu
kzu / ProjectCapabilities.txt
Created November 23, 2016 13:32
ProjectCapabilities
AllTargetOutputGroups => C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0\JavaScript\Microsoft.VisualStudio.JavaScript.Common.targets
AllTargetOutputGroups => C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Common.targets
AllTargetOutputGroups => C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\JavaScript\Microsoft.VisualStudio.WJProject.targets
AllTargetOutputGroups => C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\JavaScript\Microsoft.CodeSharing.JavaScript.targets
AllTargetOutputGroups => C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.DesignTime.targets
AllTargetOutputGroups => C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.targets
AllTargetOutputGroups => C:\Program Files (x86)\MSBuild\1
@kzu
kzu / vsmef.linq
Created July 8, 2016 15:58
VSMEF Components
var xmlns = new XmlNamespaceManager(new NameTable());
xmlns.AddNamespace("vsx10", "http://schemas.microsoft.com/developer/vsx-schema/2010");
xmlns.AddNamespace("vsx11", "http://schemas.microsoft.com/developer/vsx-schema/2011");
var vsix = from file in Directory.EnumerateFiles(@"C:\Program Files (x86)\Microsoft Visual Studio 14.0", "extension.vsixmanifest", SearchOption.AllDirectories)
where File.ReadAllLines(file)[0].StartsWith("<")
select file;
var mef = vsix
.Select(x => XDocument.Load(x))
@kzu
kzu / FixupTemplateWizards
Created March 15, 2016 19:17
Fixup vstemplate wizard if they have a version in the assembly name, to match GitInfo.Vsix's VsixVersion
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<XmlNamespace>&lt;Namespace Prefix='vs' Uri='http://schemas.microsoft.com/developer/vstemplate/2005'/&gt;</XmlNamespace>
</PropertyGroup>
<Target Name="ExtractPublicKey"
Inputs="$(AssemblyOriginatorKeyFile)"
Outputs="$(IntermediateOutputPath)key.pub">
<Exec Command='"$(TargetFrameworkSDKToolsDirectory)sn.exe" -p "$(AssemblyOriginatorKeyFile)" "$(IntermediateOutputPath)key.pub"' />
@kzu
kzu / notnull.snippet
Last active March 25, 2020 13:49
ArgumentNullException C# Code Snippet
<?xml version="1.0" encoding="utf-8" ?>
<!--
Template for a null check for a parameter.
Press notnull[TAB][TAB] to get it.
Copy to Documents\Visual Studio 2015\Code Snippets\Visual C#\My Code Snippets\notnull.snippet
Restart VS
-->
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
@kzu
kzu / backslash-conversion.proj
Last active December 30, 2015 20:07
xbuild-achilles-heels
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Content>Hello \ Bye</Content>
</PropertyGroup>
<Target Name="Build">
<Message Text="$(Content)" />
1>Build:
C:\Code\Personal\OpenCoverVsixTests\build\packages\OpenCover\tools\OpenCover.Console.exe -output:out\test.coverage.xml -register:user -returntargetcode -filter:+[MyExtension]* -skipautoprops -hideskipped:All -mergebyhash -target:C:\Code\Personal\OpenCoverVsixTests\build\packages\xunit.runner.console\tools\xunit.console.x86.exe -targetargs:"C:\Code\Personal\OpenCoverVsixTests\src\MyExtension.IntegrationTests\bin\Debug\MyExtension.IntegrationTests.dll -html out\test.html -xml out\test.xml -parallel all -noshadow"
?Executing: C:\Code\Personal\OpenCoverVsixTests\build\packages\xunit.runner.console\tools\xunit.console.x86.exe
xUnit.net Console Runner (32-bit .NET 4.0.30319.42000)
Discovering: MyExtension.IntegrationTests
Discovered: MyExtension.IntegrationTests
Starting: MyExtension.IntegrationTests
Environment variables in remote Visual Studio process running from:
ALLUSERSPROFILE=C:\ProgramData
APP
1>Build:
Creating directory "out".
C:\Code\Personal\OpenCoverVsixTests\build\packages\OpenCover\tools\OpenCover.Console.exe -output:out\test.coverage.xml -register:path32 -returntargetcode -filter:"+[MyE
xtension]* +[MyExtension.IntegrationTests]* -[Microsoft.*]*" -excludebyattribute:*.ExcludeFromCodeCoverage*^ -skipautoprops -hideskipped:All -threshold:1 -mergebyhash -t
arget:C:\Code\Personal\OpenCoverVsixTests\build\packages\xunit.runner.console\tools\xunit.console.x86.exe -targetargs:"C:\Code\Personal\OpenCoverVsixTests\src\MyExtensio
n.IntegrationTests\bin\Debug\MyExtension.IntegrationTests.dll -html out\test.html -xml out\test.xml -parallel all -noshadow"
?Executing: C:\Code\Personal\OpenCoverVsixTests\build\packages\xunit.runner.console\tools\xunit.console.x86.exe
xUnit.net Console Runner (32-bit .NET 4.0.30319.42000)
Discovering: MyExtension.IntegrationTests
Discovered: MyExtension.IntegrationTests
@kzu
kzu / msbuild.log
Created July 15, 2015 15:54
XBuild Returns
W:\>msbuild xbuild.proj
Microsoft (R) Build Engine version 12.0.31101.0
[Microsoft .NET Framework, version 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 15/07/2015 12:53:04 p.m..
Project "W:\xbuild.proj" on node 1 (default targets).
Build:
Value: Foo
Done Building Project "W:\xbuild.proj" (default targets).
@kzu
kzu / MoveLaTrucha.md
Last active August 29, 2015 14:22
Move La Trucha demo

Move La Trucha

This demo shows a dynamic view.

@kzu
kzu / ObservableDictionary.cs
Last active July 29, 2025 02:49
An ObservableDictionary<TKey, TValue>
// Licensed by Daniel Cazzulino under the MIT License
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Diagnostics;
using System.Dynamic;
using System.Linq;
using System.Text;