Previous posts:
Package of the week: MIST
The INotifyPropertyChanged
interface is essential to many applications such as Windows Forms or WPF data binding. Implementing it can however be fastidious, and involves quite a lot of boilerplate code. MIST simplifies this using IL weaving and a custom Visual Studio build task. With MIST, you can use simple auto-properties and decorate them with attributes, and get an implementation of INotifyPropertyChanged
.
[Notifier]
public class ViewModel {
//Raises the default notification ("WillNotify")
[Notify]
public string WillNotify { get; set; }
[Notify]
public string WillAlsoNotify { get; set; }
//Notification will not be implemented
public string WontNotify { get; set; }
//Raises notification for the "DefinitelyNotAlias" property
[Notify("DefinitelyNotAlias")]
public string AliasNotify { get; set; }
//Raises multiple notification events
[Notify("WillNotify","ComplexNotify")]
public string ComplexNotify { get; set; }
//Notification target, any method visible to the notifying property.
//Can be implemented in a base class.
[NotifyTarget]
protected void PropertyChanged(string propertyName) {
//up to you.
}
}
User group meeting of the week: hacking away at 99 problems in F# in NYC
The 99 Problems Series is a programming challenge that challenges a developer to solve problems using lists, logic, trees, and graphs. Fellow F#er Cesar Mendoza has taken the time to code and solve most of these problems for us. They are available here.
Bring your laptops and sense of camaraderie, because you’re going to spend some of the time working through some of the problems as individuals, and some of the problems as a group.
Hacking away at 99 problems is hosted by the New York City F# User Group on Wednesday, July 26 at 6:30PM in New York, NY.
.NET
- .NET Framework July 2017 Preview of Quality Rollup by Rich Lander.
- Profile-guided optimization in .NET Core 2.0 by Daniel Podder and Bertrand Le Roy.
- .Net Core 2.0 to extend coding optimizations to Linux by Paul Krill.
- "Good explanation, but now what?" – Thoughts on getting people started with .NET by Arthur Rump.
- How to use AppVeyor Build Cache by Gary Ewan Park.
- How to use AppVeyor Remote Desktop Connection by Gary Ewan Park.
- Docker adventures – Small story about obtaining Microsoft SQL Server for Linux on my PC by Dmitriy Litichevskiy.
- Running a .NET Core 2 app on Raspbian Jessie, and deploying to the Pi with Cake by Jeremy Lindsay.
- Advanced MSBuild Extensibility by Nate McMaster.
- How to create a Cake Addin by Derek Comartin.
- Configuring TeamCity to run in Docker on Linux and build .NET Core projects by Andrei Marukovich.
- Dealing with Horrid, No-Good, Very-Bad APIs Using JSON.NET by Matt Honeycutt .
- NuGet.org Gets a Facelift by Jon Chu.
- What is .NET Core? by James Studdart.
- How To Debug A .NET Core Nuget Package? by Arnaud.
- Setting up Raspian and .NET Core 2.0 on a Raspberry Pi by Dave The Engineer.
- Extending MSTest V2 by Pratap Lakshman.
- How can I find out how many threads are active in the CLR thread pool? by Raymond Chen.
ASP.NET
- Building ASP.NET Core 2.0 preview 2 packages on AppVeyor by Andrew Lock.
- Creating a validator to check for common passwords in ASP.NET Core Identity by Andrew Lock.
- Customize Razor Pages Handlers by Hisham Bin Ateya.
- Environment Variables and Configuration in ASP.NET Core Apps by Michael Conrad.
- ASP.NET Core MVC – Common Components/(Partial)Views across applications by Ryan Southgate.
- ASP.NET Core Razor Pages – Introduction by Ibrahim Šuta.
- .NET Core Middleware – OWASP Headers Part 1 by Jamie Taylor.
- How to Implement OPTIONS Response in ASP.NET Web API 2 by Andrey Rodin.
- Exploring the Environment Tag Helper exclude and include attributes in ASP.NET Core 2 by Scott Sauber.
- Advanced ASP.NET Trace Viewer – WebForms, MVC, Web API, WCF by Matt Watson.
- Implementing IHostedService in ASP.NET Core 2.0Use IHostedService to run background tasks in ASP.NET Core apps by Steve Gordon.
- Customizing query string parameter binding in ASP.NET Core MVC by Filip W.
- WebSocket per-message compression in ASP.NET Core by Tomasz Pęczek.
C#
- Visual Studio Toolbox: Design Patterns: Template Method by Robert Green.
- Why does the assignment operator in C# evaluate left to right instead of right to left? by Raymond Chen.
- Crash course in async and await by Raymond Chen.
- Expression – Bodied Members in C# 7.0 by Abhijit Jana.
- Practical C# – Default Expressions in C# 7.1 by Andrea Angella.
- Local Functions – What’s the Value? by Christian Nagel.
- C# 6.0 draft Language Specification by BillWagner.
- SOLID – Single Responsibility Principle With C# by Sandeep Shekhawat.
F#
- Get Started with F# as a C# developer by Phillip Carter.
- Accessing a relational DB with F# type providers by Edgar Sánchez.
- Start your graph theory website with WebSharper by Sandor Szaloki.
- Beerway Oriented Programming in F# by Moko Sharma.
- Creating Visual Planetary Systems using Fable and F# by Moko Sharma.
- CRUDing in F# with MongoDb by Moko Sharma.
- Epic Mahabharata by Kunjan Dalal.
- When to use a Discriminated Union vs Record Type in F# by Jose Gonzalez.
- F#, Fable and Ionide hacking – adding profiler to VSCode by Krzysztof Cieślak.
There is more content available this week in F# Weekly. If you want to see more F# awesomeness, please check it out!
Xamarin
- Xamarin – Build on iOS from Windows Command Prompt/MSBuild by Martyn Wiggins.
- Fixing a Quirky "Xamarin.Forms ListView Bug" That Led Me Back to Basics And How Most Bugs Are Written By Users! by Michael James.
- Snack Pack 16: Customizing Visual Studio for Mac by The Xamarin Show.
- The Xamarin.Forms Messaging Center Messed With Me by Matthew Soucoup.
- Xamarin Forms, the MVVMLight Toolkit and I: EventToCommandBehavior by Marco Siccardi.
- Using MvvmCross with Xamarin.Forms — Part 1 by Martijn van Dijk.
- InTheHand.Forms Updates by Peter Freeman Foot.
- Xamarin Preview: Xcode 9 beta 3, iOS 11, macOS 10.13 support – Preview 1 by Bri Brothers.
- ReactiveUI Tutorial for Xamarin: The ViewModel by Jan Tourlamain.
- Gorilla Player is free by UXDivers.
- Guitar Center’s Five-Star Xamarin.Forms Apps Bring Music to the Masses by Lacey Butler.
- Introducing MFractor for Visual Studio for Mac by Matthew Robbins.
- Dynamically Changing Xamarin.Forms Tab Icons When Selected by James Montemagno.
- Xamarin.Control – Xamarin.Forms MaterialEntry by Alex Dunn.
- Styles in Xamarin Forms don’t work properly in UWP .NET Native – here is how to fix it by Joost van Schaik.
- Progress indicator with Xamarin Forms by Gunnar Peipman.
- Learning Xamarin.Forms – Part 3: Navigation by Jesse Liberty.
- Learning Xamarin.Forms – Part 4: Layout and Views by Jesse Liberty.
- Exrin 2.0.0 Quick Start by Adam Pedley.
- Exrin Inspector Preview by Adam Pedley.
- Pushing the Boundaries of Xamarin with Syncfusion by James Kennedy.
- MFractor 3.1 for Visual Studio Mac out now by Matthew Robbins.
- Crash Reporting and Analytics for Xamarin by Steven Thewissen.
Azure
- Calling Azure Cosmos DB Graph API from Azure Functions by Srikantan Sankaran.
- Opensource DevOps for C# Azure Functions by Alexander Boersch.
- Triggering an Azure Automation Runbook from anywhere by Alexander Boersch.
- Faking Azure ID identity in ASP.NET Core unit tests by Gunnar Peipman.
- Integrate Azure AD into a web application using OpenID Connect by Danny Strockis.
- ASP.NET and SQL Database sample for Azure App Service by Cephas Lin.
- Getting Started with Azure Search using .NET by Azure Samples.
- A lap around Azure Functions, go serverless! by Steef-Jan Wiggers.
UWP
- Deploy a UWP application to a Windows 10 device from the command line with Cake by Jeremy Lindsay.
- Working with Brushes and Content – XAML and Visual Layer Interop, Part One by Windows UI Team.
- New Lights and PropertySet Interop – XAML and Visual Layer Interop, Part Two by Windows UI Team.
- Windows Template Studio 1.2 released! by Clint Rutkas.
And this is it for this week!
Contribute to the week in .NET
As always, this weekly post couldn’t exist without community contributions, and I’d like to thank all those who sent links and tips. The F# section is provided by Phillip Carter, the gaming section by Stacey Haffner, the Xamarin section by Dan Rigby, and the Azure and UWP section by Michael Crump.
You can participate too. Did you write a great blog post, or just read one? Do you want everyone to know about an amazing new contribution or a useful library? Did you make or play a great game built on .NET?
We’d love to hear from you, and feature your contributions on future posts. Please add your posts, it takes only a second.
We pick the articles based on the following criteria: the posts must be about .NET, they must have been published this week, and they must be original contents. Publication in Week in .NET is not an endorsement from Microsoft or the authors of this post.
This week’s post (and future posts) also contains news I first read on The ASP.NET Community Standup, on Weekly Xamarin, on F# weekly, and on The Morning Brew.