WPF Applications Stop Responding to Touches after Adding or Removing Tablet Devices
WPF framework handles touch devices and events mostly using its own code and COM components instead of using the windows message loop. Unfortunately, there may be some bugs in the WPF touch handling codes. So we sometimes suffer from the WPF touch failures. This changes after Microsoft introducing .NET Framework 4.7, but the developers have to switch on the
Pointer message manually with some compliant issues.
In this article, I’ll post some codes of WPF to present its potential bugs of touch failure.
Reading the Source Code of Microsoft.NET.Sdk, Writing the Creative Extension of Compiling
Project node starts to support the
Sdk attribute since MSBuild release the 15.0 version which is embedded in Visual Studio 2017. For the
Sdk attribute, the C# project file whose file extension is csproj becomes much more powerful and extensible.
We’ll try to read the source code of
Microsoft.NET.Sdk which is the default Sdk value of C#.NET project and try to write some creative extension of compiling.
Good Framework Rely on Good Api —— Six API Design Principles
We have S.O.L.I.D principles of object-oriented programming, and we also have Software design patterns to solve general, reusable solution to a commonly occurring problem. But we don’t have public-accepted API design principles or patterns for us to develop better APIs.
But we still have many API designing experiences to conclude some design principals. This post concludes them.
Automatically increase the semantic version using GitVersion
I wrote another post talking about Semantic Versioning before (but it is not in English). Introducing the semantic version to a project can give library users more semantic information when library developers publishing packages. From the Microsoft blog Versioning NuGet packages in a continuous delivery world we could find that semantic versioning is the trend.
This article will refer to the semantic versioning from the perspective of continuous integration, telling you how to automatically generate a version that contains semantic, and use it when publishing the library.
使用 GitVersion 在编译或持续构建时自动使用语义版本号（Semantic Versioning）
我们在之前谈过 语义版本号（Semantic Versioning），在项目中应用语义版本号能够帮助库的开发者在发布包时表明更多的语义信息。这是趋势，从微软的博客 Versioning NuGet packages in a continuous delivery world 三部曲中可以看出，从 NuGet 4.3.0 以及 Visual Studio 2017 15.3 以上版本开始支持语义版本号 2.0 也能看出。
Introducing MSTestEnhancer to make unit test result easy to read
Don’t you think that naming is very very hard? Especially naming for unit test method? Read this article for more data of naming: Don’t go into programming if you don’t have a good thesaurus - ITworld.
MSTestEnhancer is a contract-style unit test extension for MSTestv2. You can write method contract descriptions instead of writing confusing test method name when writing unit tests.