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

Thursday, October 30, 2014

A glimpse at how Infragistics uses a C# to JavaScript transcompiler, powered by "Roslyn" (.NET Compiler Platform)

Infragistics - Mike Dour's Blog - Client-Side Excel Library CTP

If you haven’t seen it already, we recently released a 100% JavaScript-only, client-side Excel library for Ignite UI and I’m super excited about it. It allows you to read, write, and manipulate Excel workbooks. You can even create and solve formulas, all from inside the browser!! It was released in 14.2 as a CTP so we could get your feedback on it, but we will be releasing a complete RTM version in 15.1. You can find information and a live sample of it here. Definitely check out the overview page, which is packed with important information for using this library.

But that’s not even the coolest part. Not only did we deliver a purely JavaScript library for Excel workbooks, but it has all the features of our existing .NET Excel libraries. Did we re-write the entire C# Excel library in JavaScript to provide this level of feature parity? We could have, but it would have taken a lot of effort getting there not to mention the ongoing challenge of maintaining feature parity between the versions and addressing bugs in both implementations. So we came up with something better. We built a C# to JavaScript source-to-source compiler, or transcompiler. We have actually been using this for a few releases now to deliver some of the Ignite UI controls, but it was missing support for some constructs being used in the C# Excel library. So we really beefed up its language support as well as changed its semantic analysis engine. Now based on Microsoft’s .NET Compiler Platform ("Roslyn") for C# semantic analysis, our transcompiler is able to read in our existing C# Excel library and generate semantically equivalent JavaScript code. There are still a few rough edges to smooth out, but we are currently addressing these issues to deliver the highest quality Excel library we can in the next release.

Unfortunately, one of those rough edges was in documentation. ...

...

So hopefully this can help you get started with the Client-Side Excel library preview. There are a few things that don’t work properly yet (such as loading files with dates), but what we have provided should give you a good sense of what’s to come in 15.1. Please let us know what you think and if there are any pain points with the API or ways you think we can do better to make this library as easy as possible to use. Let us know at igniteui@infragistics.com. We look forward to your feedback. Thanks!

While you guys know I have something of a fanboy crush on Infragistics (come on, I've been using their stuff, in many forms since its VBX days... ;) that's not why I'm blogging about this. What I wanted to highlight is how they are using .NET Compiler Platform ("Roslyn") as their transcompiler to take the C# and generate JavaScript...

"...We built a C# to JavaScript source-to-source compiler, or transcompiler. We have actually been using this for a few releases now to deliver some of the Ignite UI controls, but it was missing support for some constructs being used in the C# Excel library. So we really beefed up its language support as well as changed its semantic analysis engine. Now based on Microsoft’s .NET Compiler Platform ("Roslyn") for C# semantic analysis, our transcompiler is able to read in our existing C# Excel library and generate semantically equivalent JavaScript code. ..."

That's just cool. And something I wonder if they will productize? (If so, that wouldn't be cheap as I bet that's some serious IP). Still the fact they even share that this is some of their secret sauce is nice (see, I'm not a fanboy for just any reason.... ;)

Tuesday, October 28, 2014

SharpDevelop 5.0 is Final as in Final, but "... not the final version of SharpDevelop"

SharpDevelop - SharpDevelop 5.0 Final

After five Betas and one RC we are finally hitting release for SharpDevelop 5.0. Here is a recap of some of the most important features and changes from the various development stages (in short):

Item #1 in this list definitely begs the question "What about VB.NET?" I'd like to extend this question to "What's in the future of SharpDevelop?"

We have componentized SharpDevelop intentionally for what is coming now - the as-of-today core team moving to specific areas of our ecosystem. Think ILSpy. Think AvalonEdit. Yes, this means that the IDE iself is going to take a back seat. There are a couple of reasons for this decision...

...

Long story short - SharpDevelop is far from "done" (we'd never claim that), but we (the current core team) are realigning our efforts for visibility in the near term. This does not mean SharpDevelop is on "life support" or "dead". It means that bug fixing, small improvements and minor features have priority. Big shiny new things are up to contributions which we are more than happy to accept and help with, simply ping us on the developer mailing list to get started.

Like the post title says: 5.0 final, and not the final version of SharpDevelop. ...

image

I've only been watching this project for a decade and they are only on v5? (cough.... slow pokes... cough)? Just Kidding! These guys rock, with not only an awesome IDE (that's free and OSS), but in all other projects under their belt, like Avalon, ILSpy, etc. And their call out to the community for contributions is very valid. If there's a missing feature, "Don't whine, do..." :)

 

Related Past Post XRef:
SharpDevelop 5 goes MIT and Beta 1 too!
SharpDevelop gets T4 support
NuGet isn’t just for Visual Studio anymore… NuGet coming soon to SharpDevelop
NuGet your Avalon (SharpDevelop’s AvalonEdit and ICSharpCode.TextEditor, plus samples, are now available via NuGet)
SharpDevelop (aka #develop) 3.0 RTM’s
SharpDevelop for Applications (SDA)
Web Development with SharpDevelop, Web Matrix, and DBGCLR
SourceForge.net: #develop 1.0.2a stopgap release
SourceForge.net: #develop 1.0.2 available for download
SharpDevelop 1.0 Released

Monday, October 27, 2014

".NET Serializers Comparison Chart" - Six Serializers compared

manski's blog - .NET Serializers Comparison Chart

There are many object serializers in C#/.NET but their details are often not so obvious, for example:

  • Does my class need a parameterless constructor?
  • Can I serialize private fields?
  • Can I serialize readonly fields?

So, I’ve compiled a comparison chart in this article that will compare the various serializers and their capabilities.

Table of Contents

...

image

image

Great post comparing native and one of the bellwether third party components. Great write-up, presentation and content.

One James McCaffrey, Two Succinctly's - "Machine Learning Using C# Succinctly" & "Neural Networks Using C# Succinctly" (& 50 free eBooks)

Machine Learning Using C# Succinctly

image

In Machine Learning Using C# Succinctly, you’ll learn several different approaches to applying machine learning to data analysis and prediction problems. Author James McCaffrey demonstrates different clustering and classification techniques, and explains the many decisions that must be made during development that determine how effective these techniques can be. McCaffrey provides thorough examples of applying k-means clustering to group strictly numerical data, calculating category utility to cluster both qualitative and quantitative information, and even using neural network classification to predict the output of previously unseen data.

Table of Contents
  1. k-Means Clustering
  2. Categorical Data Clustering
  3. Logistic Regression Classification
  4. Naïve Bayes Classification
  5. Neural Network Classification

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. Download the book today!

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

Two pretty deep drives for you today. Also an interesting milestone, Machine Learning Using C# Succinctly is Syncfusion's 50th free ebook!

 

Related Past Post XRef:
"Localization for .NET Succinctly"
"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, October 14, 2014

Want to help drive .NET forward? Here's your call to action and comment...

http://tirania.org/blog/ - .NET Foundation: Forums and Advisory Council

Today, I want to share some news from the .NET Foundation.

Forums: We are launching the official .NET Foundation forums to engage with the larger .NET community and to start the flow of ideas on the future of .NET, the community of users of .NET, and the community of contributors to the .NET ecosystem.

Please join us at forums.dotnetfoundation.org. We are using the powerful Discourse platform. Come join us!

Advisory Council: We want to make the .NET Foundation open and transparent. To achieve that goal, we decided to create an advisory council. But we need your help in shaping the advisory council: its role, its reach, its obligations and its influence on the foundation itself.

To bootstrap the discussion, we have a baseline proposal that was contributed by Shaun Walker. We want to invite the larger .NET community to a conversation about this proposal and help us shape the advisory council.

...

.NET Foundation - .NET Foundation Advisory Council Call for Public Comment

Friends in the .NET community,

When the .NET Foundation was created, there was an important principle that the foundation and its work be transparent, open, and community driven. In order to ensure that the foundation delivers on this primary objective, the board of the .Net Foundation asked Shaun Walker, who has a long history leading and contributing to .Net open source projects, to develop an initial proposal for a community based advisory council to help guide the governance of the .NET Foundation. That proposal is now available for community comment.

There are many reasons we feel that an advisory council is needed. Our goal is to ensure that the foundations operation and governance is both efficient and effective when viewed from a community building perspective. Some of the practical reasons for the creation of the council are:

  • Providing a clear communication channel between the community and the board on the foundations community building activities. To provide a channel for community stakeholders to provide feedback and guidance on the foundations value proposition, governance model, and other important foundation level decisions.
  • Provide a set of known, high profile individuals who can advocate for and evangelize the benefits and services provided by the .Net foundation and evangelize the foundation’s mission.
  • Establishes a group of individuals, experienced in open source community cultivation and project governance, who can provide stewardship, education and leadership to open source .NET projects of all size, popularity, and stature.
  • To augment the capacity of the board, and distribute work of the foundation across more community members to increase the governance bandwidth of the foundation.

The proposal outlines the rationale for the advisory council, along with ...

What is the .NET Foundation?

We foster open development, collaboration and community engagement on the .NET platform. The .NET Foundation is the steward of a growing collection of open source technologies for.NET, Microsoft’s comprehensive development framework. The .NET Foundation includes popular open source .NET projects such as the .NET Compiler Platform (“Roslyn”), ASP.NET MVC, Xamarin's Mimekit and Mailkit, and many others.

Background

Announced at the Build 2014 conference, the .NET Foundation was created as an independent forum to foster open development and collaboration around the growing collection of open source technologies for .NET....

image

Think of it as where ASP.NET vNext lives... (So yeah, it's kind of a big deal)  Visual Studio "14" CTP 2 is now available. There's many more CTP's coming, ALL CAPS are not, no TFS "14" CTP's, don't side-by-side this CTP and more...

Thursday, October 09, 2014

MVVM Light V5 for Windows, Xamarin and * (pretty much everywhere you'd want to .NET MVVM)

Laurent Bugnion (GalaSoft) - Announcing MVVM Light V5 for Windows and Xamarin

Here at the Xamarin Evolve conference in Atlanta, I just announced the immediate availability of MVVM Light V5. This version runs on the following platforms:

  • Windows Presentation Foundation (3.5, 4, 4.5, 4.5.1)
  • Silverlight (4 and 5)
  • Windows Phone (7.1, 8, 8.1 Silverlight, 8.1 RT)
  • Windows Store (8, 8.1)
  • Xamarin Android
  • Xamarin iOS
  • Xamarin Forms

What’s new?

There are three major changes in this version: Xamarin Support, NavigationService and DialogService, and Portable Class Library support.

...

Visual Studio Gallery - MVVM Light (VS2013)

image

The MVVM Light Toolkit is a set of components helping people to get started in the Model - View - ViewModel pattern in Windows 8, Silverlight, WPF, Windows Phone, Xamarin Android and Xamarin iOS. It is a light and pragmatic framework that contains only the essential components needed. It includes classes such as RelayCommand, Messenger, ViewModelBase and ObservableObject, SimpleIoc and more.

MVVM Light Toolkit (http://www.mvvmlight.net/)

Jump to: Intro / Documentation / Installation and Creation / Source and Codeplex / Support / Donate / Credits / Praises

...

Introduction

The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in WPF, Silverlight, Windows Store (RT) and for Windows Phone.

The MVVM Light Toolkit helps you to separate your View from your Model which creates applications that are cleaner and easier to maintain and extend. It also creates testable applications and allows you to have a much thinner user interface layer (which is more difficult to test automatically).

This toolkit puts a special emphasis on the "blendability" of the created application (i.e. the ability to open and edit the user interface into Blend), including the creation of design-time data to enable the Blend users to "see something" when they work with data controls.

...

My current workday MVVM framework of choice is Caliburn.Micro, but I keep seeing more and more projects using MVVM Light, to the point where I think I'm going to have to check it out... That and it's hard to beat how portable it is. :)

Wednesday, October 08, 2014

The Xamarin.Forms excitement continues to build, getting broad third party support and more...

Like I said here, Cool Preview eBook of the Day: "Creating Mobile Apps with Xamarin.Forms" by Charles Petzold (Yes, that one), Xamrin.Forms is generating allot of excitement in the .NET/Xaml space and the excitement continues to build with the announcement of top tier third party support. Infragistics and Syncfusion both just announced support for Xamarin.Forms, among other top tier vendors, Enterprise Component Vendors Join Xamarin.Forms Ecosystem. Heck, even Microsoft is getting into the game!

Infragistics - Announcing Infragistics Xamarin.Forms!

I am very excited to announce a new partnership with Xamarin and our newest product release to compliment our Native Mobile story with Visual Studio – Infragistics Xamarin.Forms.

image

Over the last few years we have invested heavily in the native UI controls - we have an iOS control set, Android control set and Windows Phone control set.  Up until now, the target developer for these control sets were your objective-C, Java or Windows Developer.  Now with Infragistics Xamarin.Forms, the market is super-expanded - any Visual Studio, C#, XAML Developer can now write once, a single codebase, and then take our new Xamarin.Forms product with Xamarin’s product and ship native apps that target each major platform in no time..

There are a ton of reasons why this is so exciting, but from a pure cost perspective, using the technology from Infragistics & Xamarin, a company does not need to invest in the training and time loss of learning a new platform – using current C# & XAML skillsets native apps can be churned out in no time compared to building a native experience from scratch on each major mobile platform.  Add the long-term maintenance costs of bug fixes, feature changes, UI updates and more, and you are looking at a significant cost savings if you have a single code base to maintain while still having the benefit of native apps on each major platform.  Pretty cool!

So what exactly are we shipping today?

...

Syncfusion - Essential Studio for Xamarin has Arrived

As part of our participation in the Xamarin Evolve 2014 conference this week, Syncfusion is excited to reveal a new control suite for cross-platform mobile development: Essential Studio for Xamarin. We’ve incorporated some of your favorite data visualization and file-format components from Syncfusion with Xamarin.Forms, an API that enables developers to use a single C# codebase to build UIs for iOS, Android, and Windows Phone apps.

image

Native apps built with Essential Studio for Xamarin

Essential Studio for Xamarin is MVVM-compatible and includes a total of six Syncfusion controls. The Chart, TreeMap, and Gauge UI tools provide enterprise-grade processing and interactive visualization for your business data. File-format APIs XlsIO, DocIO, and PDF allow users to easily read, write, and edit Excel, Word, and PDF files on any device.

With Essential Studio for Xamarin, you can:

...

Multilingual App Toolkit's blog MAT v4.0 Technical Preview adds Xamarin support

The Multilingual App Toolkit v4.0 Technical Preview adds support for VS + Xamarin based iOS and Android projects.  We are super excited (just had to say it) about adding MAT’s localization workflow for developers using Visual Studio and Xamarin to create great cross-platform apps! You can download it here

I am fortunate enough to be in attendance at Xamarin Evolve 2014 this week. On Monday I attended a training session presented by Craig Dunn on Xamarin localization.  Craig did a great job covering localization in general, then focused on iOS and Android projects specifics as well as RESX with Xamarin Forms.  Craig’s demo code is available on GitHub.  So of course I wanted to see how the v4.0 technical preview would handle the code.  The demo is pre-populated with the target RESX files, so I simply removed them before using MAT v4.0 preview to add Japanese (JA) and Arabic (AR).  After generating translating using the default translation providers.  As you can tell from the images below everything worked as expected.

image

...

Given Xamarin Evolve 2014 still has a couple days to go (ends on the 10th), and given all the other announcements Xamarin have made, such as Xamarin Platform Previews, Introducing Xamarin Insights: Real-time Monitoring for Your Apps and New Xamarin Test Cloud Features I wonder what else we'll hear and see?

 

Related Past Post XRef:
Cool Preview eBook of the Day: "Creating Mobile Apps with Xamarin.Forms" by Charles Petzold (Yes, that one)

Tuesday, October 07, 2014

Looks like .NET vNext IS going to be .NET 4.5.3 (maybe)...

.NET Framework Blog - Announcing October 2014 Updates to .NET Framework vNext, ASP.NET vNext and .NET Native in Visual Studio “14” CTP4

Today, we are announcing updates to the .NET Framework vNext, ASP.NET vNext and .NET Native. These are all available in Visual Studio “14” CTP4. This .NET Framework release contains RyuJIT, the next generation X64 JIT. ASP.NET vNext contains major improvements in the runtime and Visual Studio Experience. Additionally, .NET Native contains a small set of fixes for reported issues. Please download these .NET releases with Visual Studio “14” CTP4 and give us feedback.

.NET Framework vNext

Today’s release of .NET Framework vNext adds RyuJIT and ~ 150 new APIs. We have released multiple standalone versions of RyuJIT, after introducing you to it almost exactly one year ago. RyuJIT is the new Just-In-Time (JIT) compiler, now integrated into the .NET Framework and enabled by default for 64-bit processes.

We’ve added ~150 new APIs across the product to make many scenarios easier. We’ve also updated ~50 more APIs (mostly types). In particular, we sprinkled IReadOnlyCollection<T> in more parts of the Framework libraries to make collections easier and more intuitive to use.

You can see the changes in this diff from the .NET Framework 4.5.2 to .NET Framework 4.5.3.

You may be wondering when we’ll ship a separate redistributable for the .NET Framework vNext, like we’ve had for all other .NET Framework versions. We haven’t forgotten about it. It’s still coming.

...

ASP.NET vNext

...

.NET Native

...

Summary

..."

I blogged about this in August, .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... ?), but this is the first time I think I've seen an official'ish post giving it a version number, 4.5.3...

Now, we're still a ways from RTW, but the picture appears to be getting a little clearer...

BTW, the mentioned Diff spreadsheet is interesting (if you find that find of stuff interesting at least). Here's a snap of it.

image

 

Related Past Post XRef:
.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... ?)

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

Thursday, October 02, 2014

Problems installing .NET 3.5 on Windows 8 or Windows Server 2012 R2? Like error: 0x800F0906? Check for an already in-place 3.5 Update...

I thought it interesting and kind of telling that these two different (through very similar, same base, etc) platforms have this same issue...

Also these two posts are nice guides if you run into other related kinds of problems like this...

Ask Premier Field Engineering (PFE) Platforms - Attempting to Install .NET Framework 3.5 on Windows Server 2012 R2 Fails with Error Code 0x800F0906 or “the source files could not be downloaded”, even when supplying source

In one of my prior posts, I mentioned a step required when installing .Net Framework 3.5 on Windows Server 2012 or later operating systems. Specifically, I mentioned the need to supply the source for the .Net files because this is one of the few components we do not stage to the component store on Windows Server 2012 and later. One of the bullets in the things to keep in mind section at the bottom of this blog reads:

If you are attempting to install .Net Framework 3.5 on Windows Server 2012, instead of specifying the install.wim, you need to specify the Sources\SxS directory on the DVD or if providing the source, the files in the SXS directory copied from the DVD are just for .Net Framework 3.5. You can host them on a share and supply them through the GUI or through Group Policy just like any other feature.

Recently one of my customers ran into an issue when attempting to install .Net Framework 3.5 on Windows Server 2012 R2 using the following command:

Install-WindowsFeature –name NET-Framework-Core –source F:\sources\sxs

F:\ is the mounted Windows Server 2012 R2 ISO.

Yet it still failed with the following error:

The request to add or remove features on the specified server failed. The source files could not be downloaded. Use the "source" option to specify the location of the files that are required to restore the feature. Error: 0x800F0906

image

...

So why are we getting these errors despite supplying the source?

We released a security update in August 2014 that updates .Net components. The security updates are as follows:

KB2966828: MS14-046: Description of the security update for the .NET Framework 3.5 on Windows 8.1 and Windows Server 2012 R2: August 12, 2014

KB2966827: MS14-046: MS14-046: Description of the security update for the .NET Framework 3.5 on Windows 8 and Windows Server 2012: August 12, 2014

If either of these updates are installed, you will run into the above issue if your server does not have access to the Internet to pull the updated components.

How do we resolve this?

Since this customer’s servers do not have internet access, in their case, they did the following:

1) Uninstalled the security update

2) Installed .Net Framework 3.5 (which installed without error)

3) Reinstalled the update

Take a look at the following TechNet article for .Net Framework 3.5 deployment considerations:

http://technet.microsoft.com/en-us/library/dn482066.aspx

Here’s a link to the official Knowledge Base article on this issue:

https://support.microsoft.com/kb/3002547

How do you keep from running into this in the future?

I personally recommend that you proactively enable .Net Framework 3.5 on the server images and templates in your environment to prevent having to troubleshoot or take additional steps such as this going forward.

MSMQ from the plumber's mate - Windows 8–can’t install .Net Framework 3.5 (0x800F0906, 0x800F081F)

"I’d recently put Windows 8 on a test machine at work and started installing what software I needed. Pretty quickly I found I needed to install .Net Framework 3.5 which is now a ‘Feature’ instead of a separate download.

...

Error code 0x800F0906 leads you to troubleshooting articles such as:

.NET Framework 3.5 installation error: 0x800F0906, 0x800F081F, 0x800F0907

http://support2.microsoft.com/kb/2734782

...

Looking in the list of installed updates, I found I had KB2966827 present:

MS14-046: Description of the security update for the .NET Framework 3.5 on Windows 8 and Windows Server 2012: August 12, 2014

http://support2.microsoft.com/kb/2966827

Now why do I have a .NET Framework 3.5 hotfix installed on a machine that hasn’t yet had .NET Framework 3.5 installed?!

The presence of the hotfix meant the installation was always expecting to find newer files than came with the Windows 8 source files.

As soon as I uninstalled the hotfix, I could add the .NET Framework 3.5 feature and start using my applications.

..."

Wednesday, September 24, 2014

.NET Micro Framework gets VS 2013 support and more!

.NET Framework Blog - .NET Micro Framework now supports Visual Studio 2013

Today the .NET Micro Framework team is releasing a beta update of the .NET Micro Framework SDK that adds support for Visual Studio 2013. The release also contains other improvements that will benefit developers and hardware partners, making the install and update experience better.

Check out the .NET Micro Framework Team blog, and the Netmf.com site to learn more about .NET Micro Framework and this release. Read the Microsoft Open Technologies blog to learn more about this open source project and community engagement.

You can download the .NET Micro Framework SDK 4.3.1 (SDK R2 Beta) update from our Codeplex site. Please try it out, provide feedback and start contributing to the open source project.

Supporting for Visual Studio 2013

The .NET Micro Framework SDK now supports Visual Studio 2013. That’s welcome news, since ...

The new approach also helps hardware partners. .NET Micro Framework hardware vendors can now support multiple Visual Studio versions with a given piece of hardware and firmware. That also streamlines the overall experience for app developers, too.

A first glimpse at the upcoming support for Visual Studio “14”

The .NET Micro Framework team is looking ahead and has already started to enable support for Visual Studio “14”....

...

.NET Micro Framework is Open Source

The .NET Micro Framework is an open source project from Microsoft, licensed as Apache 2. It is developed by Microsoft engineers assigned to Microsoft Open Technologies and by others in the maker community. Hardware makers are able to use the .NET Micro Framework code from the Codeplex project without any additional license or paying any fee to Microsoft.

Next Steps

The .NET Micro Framework SDK 4.3.1. (R2 Beta) release brings key improvements and updates. ..."

This is very welcome news! In one of my not-so-secret lives, you know I'm a blogger for Microsoft Channel 9's Coding4Fun blog, where every Friday I do a Hardware Friday post (to give everyone something fun to build on the weekend of course!). One of my pet peeves when highlighting .NET Micro Framework projects was the lack of VS 2013 support. One peeve crossed out now. :)

 

Here are some more links of interest;

"Learning to Master Cross-Platform Mobile Development With Xamarin" Free (Name-Email-ware) eBook

Jesse Liberty - Free e-Book: Learning to Master Cross-Platform Mobile Development With Xamarin

The good folks at Falafel have put together all my posts (to date) on  Xamarin and Xamarin Forms into an e-book, which is available free at http://jliberty.me/masteringXamarinBook

image

Some snips from the PDF...

imageimageimage

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