Skip to content

Category: Technology

Anything related to technology

PowerShell 0

Backward Compatible Tags in PowerShell 5 Module Manifest

A few months ago we started to publish our PowerShell modules to PowerShellGallery. PowerShellGallery visualizes the PSData defined in PrivateData of module manifest, which got introduced in PowerShell 5. PrivateData part of a module manifest file created with the New-ModuleManifest Cmdlet of PowerShell 5. Because of that we extended the module manifest files of our existing modules with the PrivateData […]

PowerShell 0

[NoBrainer] Getting constructor information with PowerShell 5 easily

Before PowerShell 5 we had to revert to reflection to be able to display constructor information in PowerShell (see Get-Constructor Fun for details). And because we used that functionality so often we created a Cmdlet Get-Constructor that is part of our biz.dfch.PS.System.Utilities module. However with PowerShell 5 this is obsolete as it is now built into the language and runtime […]

PowerShell 0

[HOWTO] Analyze PowerShell Scripts with PSScriptAnalyzer

A few weeks ago we started publishing our PowerShell modules to PowerShell Gallery. After publishing the module biz.dfch.PS.Appclusive.Client the first time we got an email from PowerShell gallery with some code analysis results with severity Error. As written in the email the analysis was performed with a module called PSScriptAnalyzer. We considered the project description and documentation at GitHub and […]

PowerShell 0

[NoBrainer] Avoiding Concurrency Exceptions when working with a DataServiceContext in PowerShell

When working with a DataServiceContext from PowerShell you might run into concurrency update situations after updating entities via SaveChanges. This is due to the behaviour of the DataServiceContext ChangeTracker which will not reflect changes performed by the server (as a result of our update operation). Let me illustrate this with a quick example: Suppose we have a Catalogue entity where […]

PowerShell 0

Improving Pester and Exception Assertion

Today’s post will cover the Pester testing framework. If you ever have used Pester for more the sunshine scenarios you will have noticed that the assertion of exceptions is a little bit, hmm, awkward. Pester provides an integrated Throw operator that will parse the exception message. This has some limitations such as when running in non-english environments the message may […]

C#/.NET 0

[NoBrainer] PUT/PATCH/MERGE with OData Service Client

Visual Studio supports the generation of data service clients (Service references) for OData services. A data service client is a .NET class that contains methods for accessing the OData service and gets generated based on the metadata provided by the OData service. The client acts as a proxy and translates the method calls into HTTP requests. Mike Wasson describes in […]

C#/.NET 0

The Case of the mystery log4net logging Behaviour when using PowerShell and C# with multiple Configurations

This blog post is about log4net which switches log configurations within a process as soon as two components are using their own log4net configuration. As you can read from our numerous blogs we are using PowerShell in combination with C# quite extensively. In addition we are heavily relying on log4net for logging puposes (see our PowerShell module biz.dfch.PS.System.Logging (available at […]

C#/.NET 0

[NoBrainer] Code Contracts in Interfaces with abstract base classes will not trigger if override is not specified

Today I ran into a problem when all of a sudden my code contracts stopped working – as it seemed. In reality I was missing a simple override in the implementation of a class that derived from a base class. But now for a a concrete example. Suppose you have the following scenario: ContractClassForIArbitraryObject this class holds the contract for […]

C#/.NET 0

Code Contracts in Interfaces are evaluated after Contracts in Class Implementations

I recently noticed an — at least for me — unexpected behaviour when working with Code Contracts in interfaces. When you define a contract for an interface (via ContractClassFor) and implement a class from that interface that contract is certainly enforced. However when you define additional requirements on that implementation class these contracts are evaluated BEFORE the interface contracts. Here […]