Showing posts with label .Net. Show all posts
Showing posts with label .Net. Show all posts

Tuesday, September 16, 2014

.NET Universe Poster, 2014

Microsoft Downloads - .NET Universe Poster - 2014

image

.NET Universe Poster (2014) showing the main .NET SDKs, libraries and packages classified by application type and package type (NuGet, official support, etc.)

Version: 2014

Date Published: 9/15/2014

File Name: poster2014_.pdf, 14.6 MB

This poster shows how the trends are changing in .NET as we´re moving from a single large .NET Framework to a more loosely coupled and autonomous libraries and sub-frameworks, many of them even published as NuGet packages and evolving continuously. The number of those libs and packages is evolving and growing, so having a visual photo of it can be helpful. The main idea of the poster is to show that you can create any kind of application with .NET, from the largest applications to the smaller apps: in the cloud, on the web, on desktops, tablets, phones, and in embedded environments (even watches!). Any of those application types is shown as category/bucket in the poster and within each bucket we´re tossing the main libraries/SDKs/packages out. Then we´re also showing cross-cutting concerns buckets like Security, Data Access, and .NET Extension libs.

The main categories are the following:

- Emerging application patterns (Mobile, Web & Cloud)

- Established application patterns (Desktop and Embedded)

- Cross-Cutting concerns Finally, the poster is putting a check/mark on every lib/SDK bullet depending if they are or not complaint with the following:

- NuGet package

- Open Source

- Microsoft Official Supported

You can print it out or use it as in electronic format (.PDF). Using the electronic format (.PDF) allows you to access each content URL/page related.

Interesting growth and evolution from last year (The .NET Universe Poster for 2013 is now available)..

 

Related Past Post XRef:
The .NET Universe Poster for 2013 is now available

Wednesday, September 10, 2014

What's new in C# 6, VB 14? VS 14? Think "Developer Productivity versions"

Kathleen Dollard - Video Series on C# 6.0, Visual Basic 14 and Visual Studio 14

Video Series on C# 6.0, Visual Basic 14 and Visual Studio 14I am really excited to be sharing a series of short videos on C# 6.0, Visual Basic 14 and Visual Studio 14. The series will be free and available at www.WintellectNOW.com

The first video is “The New Compilers” and is an overview of the next releases.

The second video “Simplifying Classes with C# 6.0” shows how to use auto-property initialization, getter-only auto-properties and primary constructors to create classes with simple code and immutable or mutable properties.

Next week I’ll dive deeper into auto-properties and primary constructors in C#.

Visual Basic folks can watch these videos for the basic concepts in this release, and I’ll focus some upcoming videos on Visual Basic 14 features.

..."

image

BillWagner  - Overview of C# 6 language enhancements

I was interviewed by Carl and Richard on .NET Rocks a bit ago to discuss the new features in C# 6, the upcoming version of C# that will ship with the next version of Visual Studio (link goes to CTP 3, current as of Aug 2014). You can learn all about the new version of C# at the Roslyn CodePlex site.

The initial buzz about the next version of C# centered around the implications that this compiler was a complete rewrite, written in C# from the ground up. You’ve probably heard quite a bit about how you can use the Roslyn APIs to inspect and modify code models programmatically. That is super cool, and much easier than using the earlier CodeDOM and Reflection.Emit functionality. It’s also an edge case for most of us. I’ve written very little code that uses either CodeDOM or Reflection.Emit. And, while it is also very cool that the C# compiler is now self-hosted (meaning it is written in C#), that will have very minimal affect on you either.

So what is new?

...

image..."

C#6/VB 14 are shaping up to be "the" developer productivity version. The scary thing? This wheel has just started rolling and we're just starting to see the promise of Roslyn/.NET Compiler Platform. The next couple years are going to be very exciting in the .NET world.

Wednesday, August 20, 2014

"Localization for .NET Succinctly"

Syncfusion - eBooks - Localization for .NET Succinctly

Learn to write applications that support different languages and cultures, with an emphasis on .NET development. With the help of author Jonas Gauffin, Localization for .NET Succinctly will help you become an effective developer in the global community.

..."

NOTE: Ignore the Table of Contents on the above web page... They are already working to fix that. I know it confused me too

image Doh!

Here are some snips of the real ToC from the PDF;

imageimageimage

Introduction
This book will introduce you to the world of globalization and localization. The goal is to give you a deeper understanding of how to write applications that support different languages and cultures. I’ll guide you through the basics and then go into different implementations.

The book is primarily focused on .NET.

The book also contains strategies for web development. The examples for web development are written using ASP.NET MVC and JavaScript/Globalize. You can however apply the sample principles in any other type of application.

In the book I’ll be using .NET 4. There are some minor changes compared to earlier versions. You can for instance assign a neutral culture to CurrentCulture (see first chapter for more information). There are also some new features in .NET 4.5 that have not been included in this book.

Throughout this book I’ll skip the terms localization (i10n), internationalization (i18n) and globalization. If you look them up, you’ll find as many definitions as there are developers.

...

Another link for you the author's, Jonas Gauffin, blog and post on this book.

 

Related Past Post XRef:
"Visual Studio 2013 Succinctly" free [reg-ware] now available from... you guessed it, Syncfusion
"Windows Phone 8 Succinctly - The practical approach to Windows Phone 8 development" eBook (Reg-ware)
Succinctly eBook of the Day: "Twitter Bootstrap Succinctly" [Reg-ware]
Need some help up the WPF learning curve? "WPF Succinctly" from Syncfusion is now available (and free :)
TypeScript Succinctly - Free [Name/email-ware] eBook
Getting sharp with F# with the free "F# Succinctly" eBook [reg-ware]
Syncfusion helps shed a little succinct light on LightSwitch with "LightSwitch Succinctly" (Reg-ware)
"JavaScript Succinctly" - Another free (reg-ware) eBook from Syncfusion
Get into sync with HTTP with the new free (reg-ware) Syncfusion Succinctly eBook, "HTTP Succinctly"
Spelunk the technical details of the PDF format with "PDF Succinctly" from Syncfusion (Free/reg-ware PDF/Mobi ebook)
"Git Succinctly" Free/reg-ware PDF/Mobi ebook)
jQuery Succinctly - Free eBook (reg-ware, PDF and/or Mobi)

Tuesday, August 19, 2014

The .NET Framework has LongPath (> MAXPATH) support? Yes! Well, kind of, it's private...

Did you know the .NET Framework has classes to handle "Long Paths" (i.e. Paths > MAXPATH)? How long have we been hoping for that? A decade+ (Look at my XRef below, been blogging about this since 2004... sigh). So when I saw them, I jumped for joy. Finally! Woot!

The problem is is that we can't use them! sigh...

They are private and not exposed for us to use, i.e. they are only .NET internal usage. And guess what? Had to chuckle at this, the .NET team uses them in the IsolatedStorage system. They handle their possible long path issues, but don't share. Didn't they go to kindergarten? Sharing is good! LOL

Think I'm smoking dope? Check this out...

system\io\longpath.cs

image image 

image

imageimage

.NET Framework Team, you guys are such a tease...  :)

Lets hope that maybe we'll see this, or something like it, publicly one day. We can only hope. In the mean time, there's a number of libraries you can use. I use AlphaFS mostly and while it's been around for a while, it's still alive and updates and fixes are still being checked in.

UPDATE (8/20/2014)

On the train into work today I realized that the LongPath.cs is focused on local drive only. It doesn't support file shares (i.e. \\?\UNC\...). Which makes since given its current use case, isolated storage (which is always local).

If you're spelunking that its source, keep this implementation limitation in mind...

 

Related Past Post XRef:
MAX_PATH got you down? Zoom over to the Zeta Long Paths project

AlphaFS v1.5 Released (think "The 'Long Path' IO support the BCL doesn't yet have..." or "Don't 'W' [Wide/Unicode API/etc] P/Invoke your Path API's when AlphaFS has done it already for you..." or "How I learned to love and use Volume Shadow Service paths from .Net")
AlphaFS – Some Max_Path, Transactional NTFS, hard links, and more .Net System.IO.File/Path/Directory Help (alpha)

Powering into RoboCopy with the PowerShell RoboCopy clone, RoboPowerCopy (which even includes Long Path support...)

The Long Path for the BCL Team
Introduction of the BCL CodePlex project (code samples, previews, prototypes, etc from the BCL team) – Includes “Long Path” library direct from the BCL Team (think “Breaking out of MAX_PATH”)

Subsytem for Unix (SUA) Utilities and SDK For Windows 2008 and Vista SP1
The PInvoke tool you've been looking for all this time... the "PInvoke Interop Assistant"
Using GetFileAttributes to Test for File Existence
Unicode Path Fun...

Monday, August 18, 2014

.NET vNext doesn't currently look like it's side-by-side "5.x," instead it's an in-place update like a 4.5.+ (so maybe 4.6'ish... ?)

We recently heard that after Jan 12, 2016, only .NET 4.5.2 would be getting technical support and security updates (Using .NET 4, 4.5, 4.5.1? Only 4.5.2 will be receiving technical support and security updates after Jan 12, 2016 (so start your 4.5.2 planning/deployment...)). In that same post there was mention about .NET vNext.

Today, we hear a little more about it and how we can start working with it (Visual Studio 14 CTP 3, which was also released today). But in reading the post it currently looks like the base .NET Framework vNext might be a 4.5.x or 4.6 kind of release. Now it's REALLY early in the release cycle and we're only talking CTP and there's a ton of other non base framework stuff we're getting, so don't freak out. Also Microsoft has been pretty clear that the base framework that we've known and lived with in the past is not going to be the primary deployment vehicle anymore....

In any case, here's the clip that I'm talking about;

.NET Framework Blog - Try out the new releases: .NET Framework vNext, ASP.NET vNext, .NET Native and RyuJIT

Today, we are announcing updated versions of .NET Framework vNext, ASP.NET vNext, .NET Native and RyuJIT. You can try out these new releases by installing Visual Studio “14” CTP3. Please tell us what you think.

The .NET Framework vNext

We are releasing an early build of the .NET Framework vNext with Visual Studio CTP 3. This early release includes a relatively small number of changes beyond what we shipped in the .NET Framework 4.5.2. Today’s release includes a handful of bug fixes, including many for WPF.

.NET Framework vNext is currently only available via Visual Studio 14 CTP3. We will include a separate installer later in the year. The .NET Framework vNext is an in-place update on top of the .NET Framework 4 and later versions. [GD: Emphasis added] It is supported on Windows Vista SP2, Windows Server 2008 SP2 and later versions. It does not yet have a “Go Live” license, so is not yet supported in production.

...

ASP.NET vNext...

.NET Native...

RyuJIT – Next Generation JIT Compiler...

..."

The in-place update makes it sound like the 4.5.1,4.5.2 kind of update... That it's not a stand alone, side-by-side kind of release we saw with 4, 4.5. Not sure if that's good or bad, and I can see both sides of that, but it is interesting as in my mind I was thinking we were about due for a new base, a side-by-side 5.x .Net. Looks like that's not the case.

Will be keeping an eye on this as the release progresses...

 

Related Past Post XRef:
Using .NET 4, 4.5, 4.5.1? Only 4.5.2 will be receiving technical support and security updates after Jan 12, 2016 (so start your 4.5.2 planning/deployment...)
Microsoft .NET Framework 4.5.2 Released
.NET Framework setup verification, cleanup tool and detection code (C++) updated for 4.5.2

Monday, August 11, 2014

Visual Studio Item, Project Templates? SideWaffle!

You all already follow my Microsoft Channel 9 posts, right? Like this morning's Coding4Fun Blog post, No waffling here... SideWaffle and a step-by-step guide to create Visual Studio Item Templates?

So I don't need to tell you just how cool I found SideWaffle to be? What, you might have missed it? Well then...!

SideWaffle 

Templates for Visual Studio 2012/2013

Download a delicious side dish for Visual Studio

SideWaffle is an extension

The SideWaffle extension adds a bunch of useful Snippets, Project- and Item Templates to Visual Studio. The purpose is to make your daily work in Visual Studio a richer and more productive experience.

Content
  • Project templates
    • Basic Scaffolder
    • Blank App
    • Browser Link Extension
    • Browser Link Extension (simple)
    • Caliburn.Micro WPF Application
    • Code Snippet Extension
    • Console Application Async
    • Durandal451
    • Google Chrome Extension
    • Google Chrome Theme
    • Google Chrome Web Store App
    • HTML5 Boiler Plate v4.3
    • Nancy demo
    • Nancy empty project with ASP.NET host
    • Nancy empty project with ASP.NET host and Razor
    • Nancy empty self hosted
    • Nancy empty self hosted with razor
    • Nancy with ASP.NET host
    • Nancy with ASP.NET host with Razor
    • Nancy with self host
    • Nancy with self host with Razor
    • Template from html5up.net
    • Windows Azure WebJobs Console Application
  • Item templates
    • _preprocess.xml
    • A basic NuGet .nuspec file
    • An advanced NuGet .nuspec file
    • AngularJs Controller using $scope
    • AngularJs Controller using 'Controller as'
    • AngularJs Directive
    • AngularJs Factory
    • AngularJs Module
    • AngularJs TypeScript Controller using $scope
    • AngularJs TypeScript Controller using 'Controller as'
    • AngularJs TypeScript Directive
    • AngularJs TypeScript Factory
    • AngularJs TypeScript Module
    • ASP.NET Scaffolding T4 files.
    • Basic build script
    • Basic props file
    • Basic SignalR Hub and HTML Client Page
    • Basic targets script
    • Browser Link extension (VS2013 only)
    • Build script with NuGet automatic package restore.
    • Caliburn Micro Bootstrapper
    • CKEditor plugin
    • Code Snippet
    • Customize ASP.NET T4 Files
    • DurandalJs Controller
    • DurandalJs main.js
    • DurandalJs Service
    • DurandalJs ViewModel
    • Editor Drop Handler class
    • Empty PowerShell file
    • Favicon .ico File
    • FirefoxOS manifest
    • GruntJS configuration file
    • HTML Smart Tag (VS2013 only)
    • HTML Validator Class (VS2013 only)
    • HTML Whitespace Removal HttpModule
    • Humans.txt File
    • Jasmine Spec and HTML files
    • Jasmine Spec file
    • JavaScript IIFE
    • JavaScript IIFE Module/Namespace
    • jQuery Plugin
    • JSHint Ignore File (.jshintignore)
    • JSHint Rules File (.jshintrc)
    • JSON Schema File
    • JSON Schema Selector Extension
    • Karma Configuration File
    • Knockout Custom Binding
    • Mocha Test Framework
    • Nancy bootstrapper
    • Nancy module
    • Ninject Controller Factory
    • NUnit Fixture
    • Offline Application Cache Manifest
    • Package Definition (.pkgdef)
    • Package.json for NodeJS
    • QUnit Spec and HTML files
    • QUnit Spec file
    • Readme.md File
    • Readme.md Markdown File
    • RequireJs File
    • Robots.txt File
    • SideWaffle Definitions Folder
    • SideWaffle Item Template
    • SideWaffle Project Template Files
    • SVG File
    • TinyMCE plugin
    • TSLint Rules File (tslint.json)
    • VS Command Table (.vsct)
    • Web API 2 Empty Controller
    • WebVTT File
    • Windows Azure Blob Upload Helper
    • Windows Azure Cloud Service Plugin
    • Windows Azure Table Storage Entity
  • Snippets
    • Angular Controller
    • Angular Directive
    • Angular Service
    • Cross Browser Background Linear Gradient
    • Cross Browser Background Radial Gradient
    • Dispose
    • Nancy - Delete
    • Nancy - Get
    • Nancy - Head
    • Nancy - Options
    • Nancy - Patch
    • Nancy - Post
    • Nancy - Put
    • WCF Client Usage
Open Source

SideWaffle is open source and everyone is invited to contribute. The code is on GitHub.

The entire project is 100% community driven.

See what I mean? How cool is that!

And make sure you don't miss Richard Kerslake's post, A step by step guide to developing Visual Studio item templates using SideWaffle

 

Places you can find me on Channel 9;

Thursday, August 07, 2014

Using .NET 4, 4.5, 4.5.1? Only 4.5.2 will be receiving technical support and security updates after Jan 12, 2016 (so start your 4.5.2 planning/deployment...)

.NET Framework Blog - Moving to the .NET Framework 4.5.2

"...

The quick pace at which we’re evolving and shipping means the latest fixes, features, and innovations are available in the latest version and not in legacy versions. To that end, we are making it easier than ever before for customers to stay current on the .NET Framework 4.x family of products with highly compatible, in-place updates for the .NET 4.x family.

We will continue to fully support .NET 4, .NET 4.5, .NET 4.5.1, and .NET 4.5.2 until January 12, 2016, this includes security updates as well as non-security technical support and hotfixes. Beginning January 12, 2016 only .NET Framework 4.5.2 will continue receiving technical support and security updates. There is no change to the support timelines for any other .NET Framework version, including .NET 3.5 SP1, which will continue to be supported for the duration of the operating system lifecycle. [GD: Emphasis added]

We will continue to focus on .NET and as we outlined at both TechEd NA and Build earlier in 2014, we are working on a significant set of technologies, features and scenarios that will be part of .NET vNext, our next major release of the .NET Framework coming in 2015.

...

[Read the full post]"

Pretty clear, start moving to .Net 4.5.2 soon. No, the world will not end, but still being on a "supported" .NET version is pretty darn important.

BTW, did you catch the .NET vNext coming is in 2015? Nice to see that in print... :)

 

Related Past Post XRef:
Microsoft .NET Framework 4.5.2 Released
.NET Framework setup verification, cleanup tool and detection code (C++) updated for 4.5.2

Wednesday, August 06, 2014

How portable is your application? - The .NET Portability Analyzer knows...

Beth Massi - Channel 9 Interview - Fun with the Interns: Charles Lowell on the .NET Portability Analyzer

A couple weeks ago when I was up in Redmond I had the pleasure of interviewing some interns on the .NET team to talk about their experience as an intern at Microsoft and to show off the projects they are working on.

In this first interview I sit down with Charles Lowell, a Software Development Engineer in Test. He has been working on a cool Visual Studio extension called the .NET Portability Analyzer. As developers need to target more and more platforms this tool can be a big help in analyzing how portable your .NET code is. It gives you a quick overview of the changes that you would need to make in order to be able to port your code to a given platform. 

Watch: Fun with the Interns: Charles Lowell on the .NET Portability Analyzer

image

...

.NET Framework Blog - Leveraging existing code across .NET platforms

Today we are happy to announce the alpha release of the .NET Portability Analyzer extension for Visual Studio. Please try it out. This add-in was created by our software developer intern Charles Lowell.

Over the last few years, consumers and enterprise employees are using more devices than before which run different operating systems like iOS, Android, Windows Phone, and Windows 8. As a result developing apps for different platforms is almost a requirement now. With the release of the .NET Portability Analyzer extension we are integrating the ability to reason about portability of your existing code into your development environment. This will allow you an easy way to understand how portable your code is and get recommendations to write your code so that your code just works across platforms.

You may have seen Tech Ed 2014 announcements & .NET blog post on “Targeting Multiple Platforms”. This post continues from there.

Understanding portability with Visual Studio

In our previous post we introduced the command line .NET Portability Analyzer. However, we felt that the acquisition and discovery of the tool for developers would be aided if we were to integrate the experience into VS. Additionally the integration into Visual Studio allows us to pinpoint the source locations where incompatible APIs are found to be. You can download it here. ...

...

image

...

Wrapping Up

Using this tool enables you to quickly get a high level understanding of the work that needs to be done to port to a given platform. While it may appear that you would need to do work every time that you want to target a new platform, we on the .NET framework team are working to enable a vision of single .NET surface area. Our goal is to have parity across the APIs that we expose on our Modern framework stacks. The only reason for a missing API would be its lack of applicability to a given application model or platform.

The introduction of the Visual Studio extension makes it easy to reason about the migrating of code to a new platform. Depending on what your business requirements are you can easily prioritize and understand the costs of supporting a new platform. In addition this tool give us insights into the biggest pain points that you face when migrating your code. We would love to hear your feedback on how to make this tool better! Please let us know what you think by either leaving a comment on this post or reaching out to the team at NETAPIPort@Microsoft.com.

Visual Studio Gallery - .NET Portability Analyzer

How portable is your application?

The .NET Portability Analyzer helps you determine how flexible your application is across .NET platforms.

Features:

· Analyze assemblies for compatibility with your target platforms

       Get a report gauging the portability of your application:

image

..."

Need I really say more?

Wednesday, July 30, 2014

Using the OpenXML SDK Productivity Tool to "decompile" Office documents (Turn *X files into the C# OpenXML SDK code that would generate them)

Ode To Code - Easily Generate Microsoft Office Files From C#

"...

These days, Office files are no longer in a proprietary binary format, and are we can create the files directly without using COM automation. A .docx Word file, for example, is a collection of XML documents zipped into a single file. The official name of the format is Open XML.

There is an SDK to help with reading and writing OpenXML, and a Productivity Tool that can generate C# code for a given file. All you need to do is load a document, presentation, or workbook into the tool and press the “Reflect Code” button.

image

The downside to this tool is that even a simple document will generate 4,000 lines of code. Another downside is that the generated code assumes it will write directly to the file system, however it is easy to pass in an abstract Stream object instead.

So while this code isn’t perfect, the code does produce valid document and..."

I've been blogging about the OpenXML SDK for years now, but I think this is the first time I've seen this part of it, this utility. And like he says, 4K LoC is like, well, allot, it does look like an awesome way to learn the low level OpenXML SDK ins and outs.

 

Related Past Post XRef:
Open Sesame - Open XML SDK is now open source

Using OpenXML to load an Excel Worksheet into a DataTable (or just how different OpenXML is from the old Excel API we're used too)

Using OpenXML SDK to generate Word documents via templates (and without Word being installed)
Checking for Microsoft Word DocX/DocM Revisions/Track Changes without using Word... (via OpenXML SDK, LINQ to XML or XML DOM)
LINQ to XlsX... Using VB.Net, LINQ, the OpenXML SDK and a little C# helper, to query an Excel XlsX
Using native OpenXML to create an XlsX (Which provides an example of why I highlight tools that make OpenXML easier...)
Generating Xlsx's on the Server? You're using OpenXML, right? With help from the PowerTools for OpenXML?

Official boat-load, as in supertanker, sized OpenXML content list (Insert "One OpenXML content list to rule them all" here)
So how do I get from here to OpenXML? Got a map for you, an Open XML SDK Blog Map…
Where to go to scratch your OpenXML dev info itch…
"Open XML Explained" Free eBook (PDF)
The Noob's Guide to Open XML Dev (If you know how to spell OpenXML but that's about it, this is your Getting Started guide...)

Reusing the PowerShell PowerTools for Open XML in your C# or VB.Net world
PowerShell, OpenXML, WMI and the PowerTools for OpenXML = Doc generation for our inner geek
Because it’s a PowerShell kind of day… PowerTools for Open XML V1.1 Released
OpenXML PowerTools updated – Cell your Excel via PowerShell
Powering into OpenXML with PowerShell

Open XML SDK 2.0 for Microsoft Office Released – Automate Office documents without Office

Open XML 2.0 Code Snippets for VS2010 (and VS2008 too)
Open XML Format SDK 2.0 Code Snippets for Visual Studio 2008 – 52 C#/VB Code Snippets to help ease your Open XML coding
Open XML File Format Code Snippets for Visual Studio 2005 (Office 2007 NOT required)

Open XML SDK v1 Released

OpenXML Viewer 1.0 Released – Open source DocX to HTML conversion, with IE, Firefox and Opera (and/or command line) support

Tuesday, July 29, 2014

FiddlerCore [Yes, that Fiddler]Core - A .Net Library that lets you add a little Fiddler to your apps

Rick Strahl's Web Log - Using FiddlerCore to capture HTTP Requests with .NET

Over the last few weeks I’ve been working on my Web load testing utility West Wind WebSurge. One of the key components of a load testing tool is the ability to capture URLs effectively so that you can play them back later under load. One of the options in WebSurge for capturing URLs is to use its built-in capture tool which acts as an HTTP proxy to capture any HTTP and HTTPS traffic from most Windows HTTP clients, including Web Browsers as well as standalone Windows applications and services.

To make this happen, I used Eric Lawrence’s awesome FiddlerCore library, which provides most of the functionality of his desktop Fiddler application, all rolled into an easy to use library that you can plug into your own applications. FiddlerCore makes it almost too easy to capture HTTP content!

For WebSurge I needed to capture all HTTP traffic in order to capture the full HTTP request – URL, headers and any content posted by the client. The result of what I ended up creating is this semi-generic capture form:

image

In this post I’m going to demonstrate how easy it is to use FiddlerCore to build this HTTP Capture Form. 

If you want to jump right in here are the links to get Telerik’s Fiddler Core and the code for the demo provided here.

Note that FiddlerCore is bound by a license for commercial usage – see license.txt in the FiddlerCore distribution for details.

...

[A whole bunch cut out]

Summary

FiddlerCore is a pretty sweet tool, and it’s absolutely awesome that we get to plug in most of the functionality of Fiddler right into our own applications. A few years back I tried to build this sort of functionality myself for an app and ended up giving up because it’s a big job to get HTTP right – especially if you need to support SSL. FiddlerCore now provides that functionality as a turnkey solution that can be plugged into your own apps easily.

The only downside is FiddlerCore’s documentation for more advanced features like certificate installation which is pretty sketchy. While for the most part FiddlerCore’s feature set is easy to work with without any documentation, advanced features are often not intuitive to gleam by just using Intellisense or the FiddlerCore help file reference (which is not terribly useful). While Eric Lawrence is very responsive on his forum and on Twitter, there simply isn’t much useful documentation on Fiddler/FiddlerCore available online. If you run into trouble the forum is probably the first place to look and then ask a question if you can’t find the answer.

The best documentation you can find is Eric’s Fiddler Book which covers a ton of functionality of Fiddler and FiddlerCore. The book is a great reference to Fiddler’s feature set as well as providing great insights into the HTTP protocol. The second half of the book that gets into the innards of HTTP is an excellent read for anybody who wants to know more about some of the more arcane aspects and special behaviors of HTTP – it’s well worth the read. While the book has tons of information in a very readable format, it’s unfortunately not a great reference as it’s hard to find things in the book and because it’s not available online you can’t electronically search for the great content in it.

But it’s hard to complain about any of this given the obvious effort and love that’s gone into this awesome product for all of these years. A mighty big thanks to Eric Lawrence  for having created this useful tool that so many of us use all the time, and also to Telerik for picking up Fiddler/FiddlerCore and providing Eric the resources to support and improve this wonderful tool full time and keeping it free for all. Kudos!

Resources

...

" [Click through for the rest... yes, you'll want too... oh just click already... ;]

I was first going to ask "When did Telerik buy Fiddler?" but then saw I already blogged about that almost two years ago. sigh... darn old brain.

Anyway, this is the first I'd heard of FiddlerCore (I think, lol) and Rick does a great job of introducing it and running it through its paces. If you need to packet/network sniff in your apps (i.e. you've said to your self, "Self, I wish I could build something like Fiddler into my app," well you can! (and stop talking to yourself, it's a little creepy ;)

 

Related Past Post XRef:
Fiddler (yes, that Fiddler) has been acquired by Telerik... [Updated with snips from Chris and Eric, Fiddler = Free++]

What do Fiddler, LinqPad, Excel and SharePoint have in common? Testing and consuming OData of course!
Fiddling as the web burns (or how to find out why it's burning) - “Debugging with Fiddler" book now available
eXpert Web Performance Analysis via Fiddler - Microsoft neXpert Performance Analysis Plugin [For Fiddler]
15 Second Introduction to Fiddler
Fiddler 2.1 Released...
Fiddler2 (Fiddler + HTTPS) Alpha Released
Microsoft Fiddler 1.2 Released and now Officially Out of Beta
Fiddler PowerToy - Part 1: HTTP Debugging
Fiddler HTTP Debugger - Fiddler

Thursday, July 17, 2014

Make your Debugger feel Pretty, with help from DotNet Pretty your Debugger*Attribute helper

<gordon's blog/> - Introduction to DotNet Pretty

Some Background on why

Another thing that come out of last weeks training was Visual Studio Debuggers. This lead to me finding the coolest visualizer ever called TPL Dataflow Debugger Visualizer which allows you to easily visualize your TPL Dataflow

image

Because I found this awesome visualizer I decided that everything while debugging could be awesome if there were more of these so I have created a GitHub project called DotNet Pretty where I plan on creating many visualizers to really try light up the debugging experience.

What is DebuggerDisplayAttribute?

In case you don't know DebuggerDisplayAttribute is used when you want to have a "pretty" representation of the properties in your class when seeing it in the debugger.

...

It doesn't seem like such a big deal with 1 object but think of how easy it would be to know stuff about objects when they in a list if they each implemented this attribute. Now obviously to use the attribute like this you need to own the object so you can add the attribute and release it.

DotNet Pretty's first contribution

The first contribution to DotNet Pretty is one that was used in the training which allows you to use the DebuggerDisplay Attribute in a different way.

Code

This time you specify the target in the attribute like below...

image

...

How is the TDL Dataflow visualizer done?

In short the TPL Dataflow visualizer uses the DebuggerVisualizerAttribute which looks something like below

image

I will do a in detail post on DebuggerVisualizer Attribute when I add one to DotNet Pretty. For now though you can browse the source code of the TPL Dataflow Debugger Visualizer on CodePlex.

So what's the plan?

My plan at the moment is to find the .net types that I use most and implement visualizers for them. I'm planning on trying to get some nice ones in for TFS objects like Work Items. I'm hoping that others will use this library of visualizers and fork the code and help grow it.

...

We, well I, really don't much action, press, chatter about Debugger*Attribute usage. That's why when I saw TPL Dataflow Debugger Visualizer I had to queue it up for a Coding4Fun Blog post. Now Gordon's post. Looks like it's time for a little Debugger*Attribute resurgence doesn't it?

Wednesday, July 16, 2014

Using OpenXML to load an Excel Worksheet into a DataTable (or just how different OpenXML is from the old Excel API we're used too)

dotnet thoughts - Read Excel as DataTable using OpenXML and C#

In the current project we were using OpenXML extensively for reading Excel files. Here is the code snippet, which will help you to read / convert Excel files to DataTable.

image

..."

You've heard me whine about how, while OpenXML is cool and how nice it is that we can access Office 2007+ files without Office or third party apps, yet the API is pretty darn different for traditional Office Object Model users? This screenshot shows why... Parts, SharedStringTables, oh my... It's not hard, just takes a while to wrap your head around.

Wednesday, June 25, 2014

.NET Framework setup verification, cleanup tool and detection code (C++) updated for 4.5.2

Aaron Stebner's WebLog - .NET Framework setup verification tool, cleanup tool and detection sample code now support .NET Framework 4.5.2

I have posted updated versions of the .NET Framework setup verification tool, the .NET Framework cleanup tool, and the sample code to detect .NET Framework install states that support detecting, verifying, and cleaning up the .NET Framework 4.5.2. You can find more information about how to download and use these tools at the following locations:

Besides the two cool tools Aaron mentions (which are must haves for anyone troubleshooting .NET installs), if you're writing code to detect what version of the .NET framework is installed on a given machine you HAVE to check out his post;

Sample code to detect .NET Framework install state and service pack level

...

.NET Framework versions that can be detected by the sample code

The sample code available via this article supports detecting the install state and service pack level for the following versions of the .NET Framework:

  • .NET Framework 1.0
  • .NET Framework 1.1
  • .NET Framework 2.0
  • .NET Framework 3.0
  • .NET Framework 3.5
  • .NET Framework 4 (Client and Full)
  • .NET Framework 4.5
  • .NET Framework 4.5.1
  • .NET Framework 4.5.2

...

image..."

 

Related Past Post XRef:
Microsoft .NET Framework 4.5.2 Released

Two Terrific Troubleshooting Tools -The .NET Framework Cleanup and Setup Verification Tools

.Net 4 Client Profile/Full silent install/repair/uninstall command line options

Roslyn (aka .NET Compiler Platform) for mere mortals, with Beth Massi

Beth Massi - .NET Compiler Platform ("Roslyn") for the Rest of Us

The .NET Compiler Platform (code named "Roslyn") is the next generation of the Visual Basic and C# .NET compilers. At BUILD 2014 Roslyn was released as an open source software project and the team is accepting contributions from the community.

In this interview I sit down with Dustin Campbell, a Program Manager on the managed languages team, and we talk about what Roslyn means for a .NET developer like myself. Even if you're not a compiler geek, Roslyn brings a ton of value to anyone writing VB or C# code. By making it much easier for partners to build amazing tools and for language and IDE features to get implemented much faster, developers everywhere will benefit from the faster innovation. Dustin also shows off some of the new IDE features like quick fixes and new refactorings that are available in the Visual Studio "14" CTP.  

For more information on Roslyn and to try it out, see "Installing the Preview" section of the Codeplex site at https://roslyn.codeplex.com/

Watch: .NET Compiler Platform ("Roslyn") for the Rest of Us 

image

[GD: Post Leached in Full]

Might be a great starting point to help you explain why you are so excited about Roslyn to your co-workers and dev peers...

Wednesday, June 11, 2014

VS 2012, VS 2013 and .NET Framework Doc's for offline installs (i.e. an ISO)

Microsoft Downloads - Microsoft Visual Studio and .NET Framework Documentation (ISO image)

This download includes an ISO image file of the Visual Studio and .NET Framework documentation—overviews, how-to articles, API reference pages, sample code, and more—to help you in your development efforts

Date Published: 6/10/2014

VS2012Documentation.iso, 2.7 GB

VS2013Documentation.iso, 4.0 GB

Visual Studio is a family of products, tools, and technologies that you can use to build powerful, high-performance apps, including Windows Store, desktop, web, phone, and game-console apps. You can write code in Visual Basic, Visual C#, Visual C++, Visual F#, and JavaScript, and create mixed-language solutions. And you can simplify the development of your apps by using the .NET Framework.

This download includes an ISO image file of the Visual Studio and .NET Framework documentation—overviews, how-to articles, API reference pages, sample code, and more—to help you in your development efforts. It includes multiple ISO files for different versions of the Visual Studio and .NET Framework documentation. When you choose the Download button, you’ll be prompted to select one of these files (see Quick Details for a list).

After you download the ISO image file, you can record, or "burn," the image to a recordable DVD for later installation or redistribution. You can also open the ISO image file and copy its contents to a local folder, or you can mount and access the ISO image file as a virtual device.
The Visual Studio and .NET Framework documentation is provided in the following formats:

  • Online, in the MSDN Library (this is the most up-to-date content):
  • Offline, through downloadable books (available from the Visual Studio Help menu).
  • (This download) As a DVD5 ISO image file, which is a copy of a DVD that includes the documentation. The image file is provided for users who want to create an installation DVD (for example, administrators who want to install the documentation on multiple computers offline). If you want to download the documentation for local use on a single computer, choose the online or offline option above.

Note: This DVD5 ISO image file doesn’t include updates to the documentation that were made after product release. See the online documentation for the latest information.

If you have a network or environment that isn't connected to the internet (yep, day job has one...) and you need VS/.NET Doc's this is an ISO you'll need.

It reminds me of the MSDN Library DVD days (which I think I still have a number of...lol)

dotPeek introduces Process Explorer, decompile running .Net apps, in v1.2 EAP

JetBrains .NET Tools Blog - dotPeek 1.2 EAP: Introducing Process Explorer

"Have you ever wanted to dig deeper into a process running on your machine? We have. That’s the reason why the new dotPeek 1.2 EAP build introduces Process Explorer.

The Process Explorer window provides you with the list of all currently running processes and allows decompiling those of them that are .NET processes. Once you locate a process to decompile, you can add it to Assembly Explorer for further investigation by clicking the “+” button. From there, you can export decompiled code to a Visual Studio project if necessary.

image

You can see native processes in this window as well although you naturally shouldn’t expect dotPeek to be able to decompile them. To display native processes, click Show Native Processes in the Process Explorer toolbar

...

In case you’ve missed it, note that dotPeek 1.2 EAP can now work as a symbol server and supply Visual Studio debugger with the information required to debug assembly code. Download dotPeek 1.2 EAP and give it a try"

That's scary cool...

On an aside, I wonder if this isn't another reason to be interested in .Net Native Compile when releasing commercial apps? Native speed and a much harder time decompiling.... hum.

 

Related Past Post XRef:
"Hello dotPeek plugin" Creating a dotPeek plugin is New Project, NuGet easy...
And there were three free RTW'd .Net Decompilers ... dotPeek v1 Released
Another decompiler comes online - dotPeek from JetBrains

Released.Free.Framework.MVVM.DevExpress

DevExpress - Free DevExpress MVVM Framework released

Previously, I mentioned our plans to offer a free version of the MVVM Framework. I am happy to announce the free DevExpress MVVM Framework is now available on NuGet and GitHub.

image

The free DevExpress MVVM Framework includes all the capabilities of the MVVM libraries installed with our components, except for those features specific to component integration. If you are using an up-to-date component installation, you already have full access to the MVVM Framework. Now, anyone can build an app with the DevExpress MVVM Framework or introduce our MVVM to an existing project – even when that project makes use of another framework.

The major benefits of the DevExpress MVVM Framework are the independent parts in the framework, used separately or with other third-party MVVM libraries.

  • With POCO, get clear ViewModel code without unnecessary duplications. The POCO mechanism automatically generates bindable properties, commands, asynchronous commands, wrapper code for services, and much more.
  • EventToCommand support now includes converting event arguments, calling bound commands via Dispatcher, and processing attached events.
  • Finer visual customizations are available from the ViewModel using a set of predefined Services or custom Service.
  • Messenger takes the difficulty out of building loosely coupled app architectures.
  • Modify the behavior of any visual component. Simply create a Behavior and assign it with an Interaction.
  • Choose from a new set of converters useful for everyday scenarios.

Easily find the free MVVM Framework on NuGet by searching “dx mvvm”. The free DevExpress MVVM Framework is distributed under the MIT License. Source code, testing libraries, and samples are available on GitHub. [GD: Post Leached In Full]

DevExpress/DevExpress.Mvvm.Free

imageimage

DevExpress MVVM Framework is a set of components helping to work in the Model-View-ViewModel pattern in Silverlight and WPF.

Documentation

There are two versions of the DevExpress MVVM Framework:

1. The version that is included to the DevExpress WPF/Silverlight component suite.

2. The free version that is very similar to the first one. The only difference is that it does not contain some capabilities that are only needed when the framework is used with DevExpress components.

Although DevExpress provides documentation for the first version only, you can use this documentation even if you use the free version. The documentation is available by the following link: https://documentation.devexpress.dev/#WPF/CustomDocument15112

At the DevExpress site, you can find several training blog posts: https://community.devexpress.com/blogs/wpf/archive/2013/08/29/getting-started-with-devexpress-mvvm-framework-commands-and-view-models.aspx

NuGet

The Free DevExpress MVVM Framework is available from NugGet: https://www.nuget.org/packages/DevExpressMvvm/

While I'm not sure we really need another MVVM framework, I do applaud DevExpress in releasing this and releasing it as open source. That and I'm glad to see a little WPF love. :)

Tuesday, June 03, 2014

Not your usual Succinctly book... "Neural Networks using C# Succinctly" (reg-ware)

James D. McCaffrey - Neural Networks using C# Succinctly

I wrote a new book titled “Neural Networks using C# Succinctly”. It was published this week. There are many existing books on neural networks but no good ones (in my opinion) that focus on how to create neural networks from a software developer’s point of view. My book is free and you can download a PDF version from here:

...

I’ve written books before but for “Neural Networks using C# Succinctly” the process was a bit different. I was sitting at my desk one day when I got an unsolicited phone call. Normally I never answer such calls but on this particular day, I did. The call was a young woman named Hilary Bowling who worked for a company called Syncfusion. Hilary asked me if I’d be interested in writing a book about neural networks.

Hilary told me that Syncfusion published relatively short (roughly 100 page) e-books and made them available for free. I was skeptical — I figured there’d have to be a catch of some sort. But in fact, Syncfusion does publish free e-books for software developers. The only minor catch is that you have to register and end up on Syncfusion’s mailing list, but Syncfusion doesn’t take advantage of this (I signed up to see what would happen).

Anyway, it took me a few months to write “Neural Networks using C# Succinctly” (writing a book is much more time-consuming than you might expect) and now it’s available from the Syncfusion Web site...

Syncfusion - Neural Networks using C# Succinctly

image

Neural networks are an exciting field of software development used to calculate outputs from input data. While the idea seems simple enough, the implications of such networks are staggering—think optical character recognition, speech recognition, and regression analysis. With Neural Networks Using C# Succinctly by James McCaffrey, you'll learn how to create your own neural network to solve classification problems, or problems where the outcomes can only be one of several values. Learn about encoding and normalizing data, activation functions and how to choose the right one, and ultimately how to train a neural network to find weights and bias values that provide accurate predictions.

Table of Contents

  1. Neural Networks
  2. Perceptrons
  3. Feed-Forward
  4. Back-Propagation
  5. Training

How can you go wrong with 128 free('ish) pages on C# Neural Networks!

image

 

Related Past Post XRef:
"Visual Studio 2013 Succinctly" free [reg-ware] now available from... you guessed it, Syncfusion
"Windows Phone 8 Succinctly - The practical approach to Windows Phone 8 development" eBook (Reg-ware)
Succinctly eBook of the Day: "Twitter Bootstrap Succinctly" [Reg-ware]
Need some help up the WPF learning curve? "WPF Succinctly" from Syncfusion is now available (and free :)
TypeScript Succinctly - Free [Name/email-ware] eBook
Getting sharp with F# with the free "F# Succinctly" eBook [reg-ware]
Syncfusion helps shed a little succinct light on LightSwitch with "LightSwitch Succinctly" (Reg-ware)
"JavaScript Succinctly" - Another free (reg-ware) eBook from Syncfusion
Get into sync with HTTP with the new free (reg-ware) Syncfusion Succinctly eBook, "HTTP Succinctly"
Spelunk the technical details of the PDF format with "PDF Succinctly" from Syncfusion (Free/reg-ware PDF/Mobi ebook)
"Git Succinctly" Free/reg-ware PDF/Mobi ebook)
jQuery Succinctly - Free eBook (reg-ware, PDF and/or Mobi)

 

Monday, June 02, 2014

Ook! The Visual Studio 2013 SDK Sample (and more)

I'm sure you saw my Coding4Fun Blog post today? The one where I highlight the just released Visual Studio 2013 SDK samples? Oh wait, grrrr... maybe you didn't since just found out I screwed up the schedule for it (7/2, 6/2, so close yet so far apart) doh! Well it's live now at least! :/ Anyway, for details on the entire newly released Visual Studio 2013 SDK samples, check out Visual Studio 2013 SDK Samples Released

Of the samples, this is one that makes me smile, as I dig Ook!

Ook Language sample - VS 2013

This is the example used during the Visual Studio Ecosystem Summit Presentation "Getting Linguistic: Integrating a Language into Visual Studio" by Chris Granger. It implements the following language features for the esoteric language "Ook!":

  • General purpose token tagger
  • A classification tagger
  • A QuickInfo source and controller
  • A completion source and controller

Requirements

...

Grab it and get Ooking!

 

Related Past Post XRef:
Visual Studio 2010 SDK Samples - One 30MB download, 68 samples, tons of learning...
Programming Languages You May have Missed. Zombie, Ook!, Chef and more

The ".NET Framework Regular Expressions" Cheat Sheet (1 page, front and back, lots-O-info)

Microsoft Downloads - .NET Framework Regular Expressions - Quick Reference

Version: 1.0

Date Published: 5/28/2014

File Name:

Regular expressions quick reference.docx, 70 KB

Regular expressions quick reference.pdf, 587 KB

This download is a document that provides information about the .NET Framework regular expression language. It's designed for quick lookup of characters, codes, groups, options, and other elements of regular expression patterns. It's provided in Microsoft Word (.docx) and .pdf formats.

 image

If you don't regex often this cheat sheet might come in real handy. Or worse case it makes for cool cube art... :)