Skip to content


Your GitHub-projects you have interest in

ADFS – Signon

Reporting Services + ADFS

Visual Studio 2017 – new csproj-format


Create a mdf-file for localdb by “coding”.

Customizing the EPiServer UI


Group Policy Cmdlets in Windows PowerShell

Signera dokument digitalt

Google: signera dokument med bankid


Visual Studio 2017 – Multiple target-frameworks project

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup Condition="$(TargetFramework) == 'net461'">
        <DebugType Condition="$(Configuration) == 'Release'">pdbonly</DebugType>
    <Target Name="Test" AfterTargets="AfterBuild">
        <Message Importance="high" Text=" - TargetFramework: '$(TargetFramework)'" />
        <Message Importance="high" Text=" - TargetFrameworks: '$(TargetFrameworks)'" />
        <Message Importance="high" Text=" - DebugType: '$(DebugType)'" />

My identity server




DSC Composite Resources

Testing DSC Configurations

Authenticate with Microsoft, Google and BankID

Identity Providers Supported by Auth0




How to Report a Problem with Visual Studio 2017


Visual Studio 2017 – Code analysis

Desired State Configuration – DSC

Certificates – CurrentUser (Windows)

  • certmgr.msc

Calculate IP subnets/ranges


  • Google: ip range calculator
  • Google: ip address prefix calculator
  • Google: ip subnet calculator



Visual Studio 2017 StyleCop Analyzers template for .NET Core


Connect Azure Virtual Machine to Azure Active Directory

MSBuild – .NET Core

Service Provider

Maybe this is what I want. A service provider where you choose different ways to authenticate.


Kerberos and Load Balancing

You can view Service-Principal-Names in Active Directory for Computers and Users on the attribute-tab. The attribute name is “servicePrincipalName”.

Build a custom IDP (Identity Provider)

Or STS – Security Token Service.


Get the “DNS-Forwarders” when creating an Azure-machine as domain-controller:

  • Create a virtual machine in Azure and when “in it” run dos-command “ipconfig -all” and copy the “DNS Servers” value.


NuGet: Microsoft.IdentityModel

  • WindowsClaimsIdentity.CreateFromUpn(string upn, string authenticationType, bool useWindowsTokenService)

IDP authentication

Visual Studio Subscriptions (former MSDN Subscriptions)

When you assign a subscription to someone you need to send it to the same email-address that the person will use as Microsoft-account. Before you could send it to one address then the person could use his/her Microsoft-account, it did not need to be the same addresses.

Visual Studio links (MSDN subscriptions)

Visual Studio Team Services – access restrictions

In Azure-portal:

  1. Go to (sign in)
  2. Click “Azure Active Directory” to the left
  3. Click “Enterprise applications”
  4. And then I guess it is “Conditional access” (I do not have the proper license to use this feature)

Visual Studio extensions – Mads Kristensen

Sort XML

using System.Globalization;
using System.Linq;
using System.Xml.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTestProject4
	public class UnitTest1
		#region Methods
		public void TestMethod1()
			CultureInfo.CurrentUICulture = CultureInfo.GetCultureInfo("en");
			var root = XElement.Parse("<root b=\"B\" a=\"A\"><b>B</b><a>A</a></root>");
			Assert.AreEqual(root.Attributes().First().Name, "b");
			Assert.AreEqual(root.Attributes().Last().Name, "a");
			Assert.AreEqual(root.Elements().First().Name, "b");
			Assert.AreEqual(root.Elements().Last().Name, "a");
			Assert.AreEqual(root.Attributes().First().Name.LocalName, "b");
			Assert.AreEqual(root.Attributes().Last().Name.LocalName, "a");
			Assert.AreEqual(root.Elements().First().Name.LocalName, "b");
			Assert.AreEqual(root.Elements().Last().Name.LocalName, "a");
			root.ReplaceAttributes(root.Attributes().OrderBy(attribute => attribute.Name.LocalName));
			root.ReplaceNodes(root.Elements().OrderBy(child => child.Name.LocalName));
			Assert.AreEqual(root.Attributes().First().Name, "a");
			Assert.AreEqual(root.Attributes().Last().Name, "b");
			Assert.AreEqual(root.Elements().First().Name, "a");
			Assert.AreEqual(root.Elements().Last().Name, "b");
			Assert.AreEqual(root.Attributes().First().Name.LocalName, "a");
			Assert.AreEqual(root.Attributes().Last().Name.LocalName, "b");
			Assert.AreEqual(root.Elements().First().Name.LocalName, "a");
			Assert.AreEqual(root.Elements().Last().Name.LocalName, "b");


TinyMCE outside the EPiServer-UI.

Visual Studio Subscriptions (MSDN Subscriptions) – management

Look at the end of the “You have the power to help your company”-section at the link “download our FAQ”. The document explains how it will work in the future.

XML sorting

WCF code-generation

Condition expressions as classes

Get a classic windows identity from a claims identity

If you want to impersonate just by using the user-principal-name

Load testing

Your LINQ Query Provider project

The “object Execute(Expression expression)”-method in the QueryProvider: Maybe the first thing (or one of the things) to do is to, like, split up the expression, what can be done by LDAP and what can not. E.g:

directory.Find().Where(entry => entry.Property.Contains(“a”)).Select(entry => entry.Property).Count();

The “Where” part should be transformed to a filter but the “Select” part can only be handled after a LDAP call. Still the “Select” part should reduce the attributes asked for by LDAP only to contain “Property”. The “Count” part can… STOP while writing this I start to think further. NOT sure.

Laborate with your IQToolkit fork (against the Access database) and investigate how it is done. The tricky part: what should happen on “object Execute(Expression expression)” and how to visit expressions. You have to learn more about expressions. Maybe a “Expression-Lab” project on your HansKindberg-Lab on GitHub.

To learn more remember to lab with: Remember your branch “HansKindberg-Lab”.


UX training

LINQ IQueryable

Website cross-browser testing

Disabling optimization when debugging source code

Cannot obtain value of local or argument ‘x’ as it is not available at this instruction pointer, possibly because it has been optimized away.

Put the following lines in a file and name it ASSEMBLYNAME.ini in the same folder as ASSEMBLYNAME.dll.

[.NET Framework Debugging Control]

Then Generate PDBs… with .NET Reflector extension.

Claims-Aware ASP.NET Applications Using WIF

Export/import claim rules in AD FS

AD FS 2.0 SDK Overview

How To: Build Claims-Aware ASP.NET MVC Web Application Using WIF

How To: Build Claims-Aware ASP.NET Web Forms Application Using WIF

Building a test claims-aware ASP.NET application and integrating it with ADFS 2.0 Security Token Service (STS)

Adding and Configuring a Claims-aware Application

Converting a Basic Provider Hosted Application into Claims Aware Provider Hosted Application in SharePoint 2013

Identity Providers

How Portal integrate with ADFS 2.0

Google search


Specifying Version Ranges in .nuspec Files

ALM Rangers Branch Tool Visual Studio Extension

Private Galleries

Private Extension Galleries for the Enterprise

Visual Studio Private Extension Gallery

Guide to Freeing up Disk Space under Windows 7

MVC Integration Test Framework

Screen recorder (free)

TFS in the cloud


Test if a site is responsive

The Responsinator

A Typed Repeater in ASP.NET

A Typed Repeater in ASP.NET

Support for Generics in ASP.NET Server Controls

Unit testing JavaScript

QUnit: A JavaScript Unit Testing framework

WCF Rest

In webapplication

Adding WCF REST services to existing ASP.NET web application

Responsive web design

Responsive Web Design: 50 Examples and Best Practices

CSS transitions & media queries

Debugging CSS Media Queries


Castle Dynamic Proxy – Samples

WCF – Dependency injection

WCF with StructureMap

Google search: StructureMap InstanceProvider

  1. Try this first: Setting up WCF to use StructureMap
  2. The first on builds on this one: Integrating StructureMap with WCF

Other samples

EPiServer remote events

Technical note:


Using resource files with MVC

Resource Files and ASP.NET MVC Projects

tangible T4 Editor plus modeling tools for VS2010

Localize ASP.NET MVC 2 DataAnnotations validation messages with a custom resource provider

Google search: displayattribute mvc 3

ReSharper plugins

ReSharper 6 Plugin Development


Git with Visual Studio

Git Source Control Provider


Google search: git flow

A successful Git branching model

Joel Abrahamsson

Remote branches with TortoiseGit


How Do I Use StructureMap with ASP.NET MVC 3

MVC structure

Google search: mvc directory structure

Grouping Controllers with ASP.NET MVC

Partitioning an ASP.NET MVC application into separate “Areas”


Essential JavaScript Design Patterns
Pro JavaScript Design Patterns, by Ross Harmes and Dustin Diaz


Google: .moles file

Code generation

Generating .Net Source Code

Visual Studio – extend unit testing

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: