Skip to content

Instantly share code, notes, and snippets.

View kzu's full-sized avatar

Daniel Cazzulino kzu

View GitHub Profile
@kzu
kzu / test.proj
Created June 16, 2014 18:54
MSBuild supports non-quoted strings in conditions
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build">
<Message Condition="$(Message) != ''" Text="Message: $(Message)" />
</Target>
<Import Project="$(ProjectFile)" Condition="$(ProjectFile) != ''" />
</Project>
@kzu
kzu / DumpItems.targets
Last active August 29, 2015 14:02
Dump MSBuild Items
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="DumpItems"
TaskFactory="CodeTaskFactory"
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v$(MSBuildToolsVersion).dll">
<ParameterGroup>
<Items ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
</ParameterGroup>
<Task>
<Code Type="Fragment" Language="cs">
@kzu
kzu / ObservableDictionary.cs
Last active October 6, 2023 11:01
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;
@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 / 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).
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
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
@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)" />
@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 / 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"' />