Showing posts with label Development. Show all posts
Showing posts with label Development. Show all posts

Wednesday, July 30, 2014

Did you know you could update/contribute to some (OpenXML for now) MSDN Doc's via a GitHub repo?

When writing my last post,Using the OpenXML SDK Productivity Tool to "decompile" Office documents (Turn *X files into the C# OpenXML SDK code that would generate them),  I came across this;

image

I'm like, "What?" No...

Yep!

OfficeDev/office-content

Contains content from dev.office.com that is openly editable by the public.

Ways to contribute

You can contribute to Office developer documentation in a few different ways:

*We're only taking documentation contributions for the OpenXML Conceptual content at this time

Repository organization

The content in the office-content repository is grouped first by article language, then by topic. The README.md file at the root of each topic directory specifies the structure of the articles within the topic.

Article within each topic are named by MSDN GUID rather than title name. This is a side effect of our document management process and cannot be changed at this time. We highly recommend using the table of contents within each topic directory (see links below) to navigate to the files you wish to view or edit.

Articles in this repository

Open XML

Before we can accept your pull request

...

SNAGHTML15f192b1image

Now that's cool...

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

[Cool Webook of the Day] "Eloquent JavaScript"

Eloquent JavaScript

This is a book about JavaScript, programming, and the wonders of the digital. You can read it online here, and a paper version is being worked on.

image

Written by Marijn Haverbeke.

Licensed under a Creative Commons attribution-noncommercial license. All code in this book may also be considered licensed under an MIT license.

image

A couple of my feeds mentioned this today, so I thought I'd take a look. Glad I did. This looks like an awesome book, while initially focused on the beginner dev, quickly it becomes something for the new, or returning, to JavaScript dev. And since js is the currently shiny...

Tuesday, July 29, 2014

"Killer Free [Free as in free from nag's, calls, whines, free] SQL Tools" from ApexSQL. Includes ApexSQL [Auto] Complete, ApexSQL Refactor and ApexSQL Search

Dirk Strauss - ApexSQL Provides Excellent SQL Tools For Free

"ApexSQL has a few free tools on their site. Before I carry on, I was in no way compensated for this blog post at all. Now that is out of the way, check out ApexSQL tools. I was amazed by the feature richness of these tools. I would be amiss if I didn’t share this with the developer community out there. If you are a developer using SSMS, you definitely must download their free tools and give them a try.

...

These tools are:

  • ApexSQL Complete
    • SSMS and VS integration
    • SQL syntax checking
    • SQL object descriptions
    • SQL code completion
    • SQL code visualization
    • Snippet management
  • ApexSQL Refactor
    • SQL parameter management
    • SQL formatting
    • Consistent code layout
    • Database object refactoring
    • Batch formatting
    • One-to-many relationship replacement
  • ApexSQL Search
    • Smart renaming
    • Text search
    • Database object search
    • Easy SSMS tab navigation
    • SQL code cleaning
    • Graphical dependencies

..."

ApexSQL - Killer Free SQL Tools

"...

image

Why choose ApexSQL free tools?

Great software

We strive to ensure that even though these tools are Free, we still strive for a "Best of Class" product, including, performance, usability, and quality in its respective product class. If you think we can improve our Free tools please contact us to let us know how!

Feature rich

Our free tools implement all the features you need for FREE, including SQL formatting, Database object and Text search, Smart renaming, SSMS and Visual Studio integration, SQL refactoring, and much more. These are features that you would actually have to pay for … but don’t have to!

Continuous development

Just like all of our other tools, we strive to release updates to our Free SQL tools regularly, fix problems, improve performance, and add features. We look to maintain host integration with new versions of SSMS and Visual Studio when they come out. See What's next, to check out our product roadmap

Killer support

Don’t think that because these tools are free that they are unsupported! We still offer Full support via bundle subscriptions including email, phone, and WebEx for all of our Free tools. Even without a subscription to a bundle we are happy to answer questions via our forum and attempt to address any and all issues quickly

Yes, these tools are really FREE

  • No crippleware, time bombs, or bait and switch
  • No annoying embedded ads or nag screens
  • No additional costs to upgrade to newer versions of SQL Server e.g. 2012, 2014
  • No professional version or non-free features you must pay for
  • No mandatory re-installs
  • No requirement to install additional, non-free software
  • No phone calls from sales people

..."

I'd recently seen, and have been meaning to blog about, ApexSQL Complete being free, but I didn't know about the other tools being available. Kudo's to Dirk for making it really clear what was free and how "free" they were!

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

Bringing some Unity to Visual Studio - "Visual Studio Tools for Unity 1.9" now available for free for VS 2010/12/13

The Visual Studio Blog - Visual Studio Tools for Unity 1.9

Today we released the Visual Studio Tools for Unity add-on (formerly known as UnityVS). It is now available for download on the Visual Studio Gallery at the following links:

VSTU is Microsoft’s free Visual Studio add-on that enables a rich programming and debugging experience for working with the Unity gaming tools and platform. This is our first release since the acquisition of SyntaxTree, and we’re excited to have the opportunity to reach to the Unity community with Visual Studio.

image

Here are the highlights in today’s 1.9 release:

  • Faster debugger. Attaching and detaching the debugger as well as expanding local variables is now faster.
  • Faster startup. Opening VSTU projects is now faster.
  • Better handling of C# constructs. The local variables window is now properly populated when debugging iterators or when variables are accessed inside closures.
  • Start your game and your debugging session in one click. This feature is one of our most-requested: you can now attach the debugger and start the game by simply changing the debug target. This is only available in Visual Studio 2012 and 2013.

And many more new features and bug fixes as you can see in our changelog. ...

If you're doing Unity dev, this free tool looks like an important to have one.

Funny, before Build I WAG'd that Microsoft would buy Unity. Guess I was sort of right... kind of... :P

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.

Unified Windows Dev Portal, Documentation (and more)

Building Apps for Windows - New Opportunity: Kinect for Windows + Unified Windows developer portal and documentation and 21 additional payout markets

Earlier this week Microsoft released the Kinect for Windows Public Preview which represents a new opportunity for Windows developers, as apps created with the new SDK may be published to the Window Store later this year. We’re making plans to prominently feature Kinect-enabled apps to provide customers with an exciting new Windows experience. I’d like to encourage you to download the preview today and be one of the first to publish a Windows app integrating the Kinect experience.

Today we are also taking the next step in the journey to a single unified Windows platform which began last November with unified developer registration, and continued at Build with universal Windows apps. With this release, we are bringing together Windows Phone and Windows Store online developer resources including education materials, guidance, code samples and reference documentation. We now have a single Windows Dev Center website – dev.windows.com – to aid those of you developing apps and games across phone, tablet and PC.

Finally, this week we’re also expanding the number of payout markets to include 21 new markets from which you can submit paid apps. This includes apps with in-app purchase, the fastest growing Store revenue model, representing nearly 50% of Windows Phone developer payout and over 30% of Windows payout – and growing.

New opportunity: Kinect for Windows

[GD: Check out my Channel 9 Coding4Fun Kinect Gallery post, It's Kinect for Windows v2 Day!]

...

dev.windows.com, the one place to learn about Windows app development

image

In the unified site you will find the content and guidance for both Windows Phone and Windows Dev Centers consolidated in to a single location. Learn about design, find the tools you need for development, and understand the steps to publish universal Windows apps. We’ve also combined code samples and forums into a single, convenient location.

Unified documentation: You will now see a comprehensive, combined documentation set to help you learn how to build apps for Windows devices (phone, tablet and PC), with API and feature distinctions clearly called out. Documentation is now available in 11 languages: German, English, Spanish, French, Italian, Japanese, Korean, Brazilian Portuguese, Russian, Simplified Chinese and Traditional Chinese.

Single location for code samples: The code samples for Windows Phone and Windows Store apps, as well as for universal Windows apps, continue to be published in the MSDN code gallery. The difference is that they are now easily accessible directly from one Dev Center page.

Single location for developer forums: The Windows Store apps and Windows Phone developer forums have been merged into one streamlined set of forums. The dashboard forums have been combined so that they appear together in one location, while the technical forums remain specialized for each form factor.

The dashboards will remain separate for Windows Phone and Windows. When you first click the Dashboard link in the Dev Center, you’ll be able to choose which one to start with. After that, switching between the two is simple. Just use the link in the left-hand navigation pane.

...

Nice to see the Windows/Phone unification continue. It's investments in things like this that gives me hope (you know, how the doc's are always last'ish? So if doc's are being updated, then it looks like this might stick... :)

Thursday, July 10, 2014

The WebBrowser in VS making you crazy with its IE7 emulation mode? Here's how you can IE 8/9/10/11 it and more... (Think "WebBrowser Control Emulation Mode" post of the day)

Robert MacLean - Improve the embedded browser in Visual Studio

Visual Studio has an embedded browser, but it uses the IE 7 render path?! Really, that is pretty messed up.

image

Thankfully, you can fix this yourself with a quick registry addition. Note: Fiddling with the registry can break your device, so be careful and this carries the usual “this works on my machine” and it is your own risk for doing this. The key you need to care about is:

... [Click through to see the reg hack... I didn't want to steal his secret sauce... ;]

I set the value to (HEX) 2af9 – since I have IE 11 on my Windows 8.1 machine, but you can pick from the list of options to best suit your needs and now it just works! No issues on GitHub

image

..."

Internet Explorer Dev Center - Internet Feature Controls (B..C)

...

Browser Emulation

Windows Internet Explorer 8 and later. The FEATURE_BROWSER_EMULATION feature defines the default emulation mode for Internet Explorer and supports the following values.

image

...

I know you're thinking, "VS just embed's the WebBrowser control, which I like to do to, sometimes. Can I make this magic happen for me too?" Or "I'd like a little more detail and depth!"

Funny you should ask that...

Cyotek Blog - Configuring the emulation mode of an Internet Explorer WebBrowser control

Occasionally I need to embed HTML in my applications. If it is just to display some simple layout with basic interactions, I might use a component such as HtmlRenderer. In most cases however, I need a more complex layout, JavaScript or I might want to display real pages from the internet - in which case I'm lumbered with the WebBrowser control.

I'm aware other embeddable browsers exist, but the idea of shipping additional multi-MB dependencies doesn't make sense unless an application makes heavy use of HTML interfaces

The WebBrowser control annoys me in myriad ways, but it does get the job done. One of the things that occasionally frustrates me is that by default it is essentially an embedded version of Internet Explorer 7 - or enabling Compatibility Mode in a modern IE session. Not so good as more and more sites use HTML5 and other goodies.

Rather fortunately however, Microsoft provide the ability to configure the emulation mode your application will use. It's not as simple as setting some properties on a control as it involves setting some registry values and other caveats, but it is still a reasonable process.

...

image

There you go! Just about everything you've every wanted to know about this (or not)

Five Free Icon Packs for the Dev in your Cube...

Dean Hume's, Coding Tips & Tricks - Free icon packs for developers

Over the years, I have started to hoard a collection of links to various free icons that I find on the net. Often, I use these icons to spruce up simple prototypes or just make my web pages look livelier. Unfortunately, I've been collecting these links to icon packs and never get the chance to use half of them! If you are a web developer that has need for free icons, then this might be for you.

This article will hopefully provide you with a list of free icons that you can use in your day to day development. This list features five great icons packs that are available to download today.

IconMonstr ...

IcoMoon ...

Simple Icons ...

The Entypo Pictogram Suite ...

Typicons ...

image...

Can't have enough of these kinds of resources cached. What's great is that all but one of these are new to me. :)

 

Related Past Post XRef:
I HAZ ICONZ MONSTRZ- 1309+ Free icons from iconmonstr (PNG, SVG)

A community created GuidGen, GuidGen 2.0 (a replacement for Guid tool you love to hate, hate to love)

Visual Studio Gallery - GuidGen 2.0

Provides a new Create GUID command in the Tools menu with a new WPF surface, and featuring code tailored for C# and VB.NET developers to define Guid fields. Also provides editor inline code completions for adding GUIDs, guid fields and guid attributes for C# and VB.NET!

Let's face it. The Create Guid (guidgen.exe) tool that ships with VS is over a decade old and is old Win32 GDI based. It also doesn't produce any code snippets useful for C#/VB developers.

GuidGen 2.0 is a new face to creating GUIDs. And includes C#/VB code snippets!

image

But a separate app to copy GUIDs from into the editor is still old school. Why not have inline editor completions for GUIDs? Just type "guid" in your C# or VB code files, then click on "Guids" or press Alt+. to select the Guids tab with the keyboard.

image

..."

A new face for the tool I'm sure we've all used at one time or another (or not...)

I love the addition of the code snips. :)

 

Related Past Post XRef:
Visual Studio Add-In of the Day - Inline Guid Generator

Tuesday, July 08, 2014

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...

Brian Harry has the quote of the day for this release...

Brian Harry’s blog - Visual Studio “14” CTP 2 Available

I’m not going to make too big a deal about this because there’s going to be tons of them between now and when VS “14” ships.  But we shipped another CTP today and you can learn more about it here: http://blogs.msdn.com/b/visualstudio/archive/2014/07/08/visual-studio-14-ctp-2-available.aspx

We’re continuing the practice of making Azure VM templates available to make it really easy to try out the CTPs....

...

For reasons I explained in my last post on the subject, we are not releasing TFS “14” CTPs at this time and, quite honestly, won’t for a while.  We will start releasing CTPs of TFS well before the release but there’s just not a good enough cost benefit analysis to it right now.  You can see the majority of the work we are doing on VS Online as we do it.

The Visual Studio Blog - Visual Studio “14” CTP 2 Available

Today we released CTP 2 of Visual Studio “14”, which is the codename for the next version of Visual Studio. To get started, you can download the bits (also available on MSDN subscriber downloads), or use the VM in Azure we’re making available (see the note below). In addition to the new features we added in CTP 1, this CTP also includes:

  • Save and Apply Custom IDE Layouts. You can now save and apply custom layouts for tool windows in the IDE. The Save Window Layout and Apply Window Layout commands are under the Window Menu and you can also rename, reorder, and delete layouts from Manage Window Layouts.
  • Light Bulb Editor Adornment. Light Bulbs are an extensible editor adornment to identify and help you fix issues in your code. To use them, place the caret on a line with an issue or hover over an issue and you’ll see a light bulb that lists actions you can take to resolve the problem and even a preview of proposed solutions.
  • Editor Touch Support. The Visual Studio Editor now supports touch gestures for scrolling, pinch-to-zoom, tap-and-hold for context menus, double-tap for word selection, and line selection by tapping in the margin.
  • VC++ Property Pages and Editor Enhancements. We updated the Configuration and Platform dropdown values for VC++ Property Page dialog to remember the last user selection when the dialog is closed. We also added Move Function Definition (move the body of a function definition to source or header/in-class definition) and Implement Pure Virtuals (quickly create definitions for a class that inherits constructs ([abstract] class, struct, etc.) containing pure virtuals). We also updated Create Declaration/Definition to include Code Peek and improved Find in Files to enable subsequent results to be appended to previous results ("append mode"). Checkout the VC Blog for details on these enhancements.
  • ALL CAPS. Last week with the RC for Visual Studio 2013 Update 3 we added an option to sentence case menus; in this VS “14” CTP we changed Menu Bar styling to Title Case for everyone to help us get feedback on the change. We’ll use the feedback we get to help determine if we keep it as it is in this preview, make it an option under the Tools/Options menu, or take some other path.

...

Visual Studio "14" CTP release notes

...

Notes:

  • CTPs are English only.
  • CTPs are unsupported and are intended to be used for testing, trial, and feedback purposes only.
  • CTPs have not been subject to final validation. They are not meant to be run on production workstations or servers, or used to create production code. Installing a CTP on a production server will put the server in an unsupported state.
  • Although these CTPs are intended to be installed side-by-side with earlier versions of Visual Studio, complete compatibility on every CTP is not guaranteed.

...

    Visual Studio "14" CTP 2 (version 14.0.21901.1.DP) details
    Technology improvements

    The following technology improvements have been made in this release.
    ASP.NET and web development

    • ASP.NET vNext: This release of Visual Studio supports creating and developing ASP.NET vNext applications. ASP.NET vNext is a lean and composable .NET stack for building modern web applications for both cloud and on-premises servers. It includes the following features:
      • ASP.NET MVC and Web API have been unified into a single programming model.
      • A no-compile developer experience.
      • Environment-based configuration for a seamless transition to the cloud.
      • Dependency injection out-of-the-box.
      • New cloud-optimized runtime supports true side-by-side versioning. 
      • NuGet everything, even the runtime itself.
      • Run in IIS, or self-hosted in your own process.
      • All open source through the .NET Foundation

        (http://www.dotnetfoundation.org/)

        , and takes contributions.

      For more information about ASP.NET vNext in Visual Studio, go to the ASP.NET vNext

      (http://go.microsoft.com/fwlink/?LinkId=400692)

      website.

    • This release of Visual Studio also includes all the current ASP.NET and web development features that are released as parts of Visual Studio 2013 Update 2. Learn more here

      (http://go.microsoft.com/fwlink/?LinkId=400693)

      .

    Visual C++

    • Find in Files has been updated to enable subsequent results to be added to previous results ("append mode"). Results can now also be edited or deleted.
    • Implement Pure Virtuals enables a user to quickly create definitions for a class that inherits constructs (such as abstract class, struct) containing pure virtuals. Both multiple and recursive inheritances are supported. Activate the feature through right-clicking a class definition (implement all pure virtuals) or an inherited base construct (implement pure virtuals in that base only). Double-slash comments (//) are used to delimit groups of functions implemented from individual bases.
    • Move Function Definition enables a user to move the body of a function definition to source or header/in-class definition. It must be activated through the right-click context menu on a function's signature.

    Visual Studio IDE

    • Menu Bars will show in Title Case style instead of All Caps style.
    • Support for touch in the Visual Studio Editor is now available. This includes touch for scrolling, pinch-to-zoom, tap-and-hold for context menus, double-tap for word selection, and line selection by tapping in the margin. 
    • The Configuration and Platform dropdown values for the VC Property Page dialog have been changed to remember the last user selection when closed and reopened. 
    • Users can save custom layouts by clicking Save Window Layout from the Window menu. Users can apply a custom layout by clicking Apply Window Layout from the Window menu, and users can delete, rename, or reorder layouts by clicking Manage Window Layout from the Window menu. The first nine layouts also have keyboard shortcuts from Ctrl+Alt+1 to Ctrl+Alt+9.
    • In this CTP, we are rounding out Light Bulbs that are the quick and easy way to obtain helpful fixes for known issues in your code inside the Visual Studio Editor. If you have an issue in your code, placing your editor caret on the line where the issue is shown or hovering over the issue will present a light bulb that shows helpful actions you can take to resolve the problem together with a preview of the results of each action. 
      This feature is publicly extensible, so Visual Studio extenders can provide their own suggested actions.
    • After you apply this CTP, you can create an empty C# and JavaScript shared project from the File > New Project menu. Phone Projects, Store Projects, and Universal Projects that are written in JavaScript and C# can consume one or many of these shared projects. Shared project references can be managed (added or removed) by using the Reference Manager. Shared Project referencing is also available for some classic desktop C# projects. The project types and languages that support Shared Projects will continue to expand in future CTPs.
    • In this CTP, Visual Studio now supports high-resolution icons in the Error List.
    Known issues
    Installation
    Installing Visual Studio "14" CTP side-by-side with Visual Studio 2013
    • There are known issues when you install Visual Studio "14" CTP 14.0.21901.1 DP on the same computer as Visual Studio 2013. While we expect that an uninstallation of Visual Studio "14" and then a repair of Visual Studio 2013 should fix these issues, our safest recommendation is to install Visual Studio "14" in a virtual machine, a virtual hard disk (VHD), a fresh computer, or another non-production test-only computer that does not have Visual Studio 2013 on it. These Visual Studio side-by-side issues are expected to be fixed soon.

    Client Platform

    • Uninstalling Visual Studio "14" CTP removes TypeScript from Visual Studio 2013.

    Upgrading

    • Because of a known issue, when you install Visual Studio "14" CTP 14.0.21901.1 DP on the same computer that has Visual Studio "14" CTP 14.0.21730.1 DP installed, your Windows Store projects may fail to launch. 
      To work around this issue, repair the installation of Visual Studio "14" CTP 14.0.21901.1 DP after the upgrade. To avoid this issue, our safest recommendation is to uninstall Visual Studio "14" CTP 14.0.21730.1 DP before you install the new CTP version. This build-to-build upgrade issue has been fixed for future upgrades from Visual Studio "14" 14.0.21901.1 DP.

    Visual C++

    • The native "Memory Usage" tool does not work when targeting Win32 (x86).  Targeting x64 works as expected.

    ...

    In short, it's a CTP. Don't install it on a production box. Use the Azure VM!

    Thursday, June 26, 2014

    From AppStudio to Android, porting AppStudio apps with a little help from Xamarin

    Just a couple days ago I blogged about how you can take your AppStudio app and load it into Visual Studio, From Studio to Studio - Apps made in App Studio, opened in Visual Studio. This post is even cooler, taking it to a whole new level...

    Falafel - Porting a Windows App Studio Universal App to Android Using Xamarin

    Microsoft's App Studio is a fantastic tool to help you design and generate applications for Windows Phone as well as Universal Apps for both the phone and Windows. The online interface allows you to add content like RSS feeds, Facebook pages, Flicker photos and more with a few clicks, generating a complete Visual Studio solution that can immediately be launched on the phone or desktop.

    Today we'll look at how we can enhance the App Studio solution’s Portable Class Library so that we can use Xamarin to add an Android version of the app.

    Creating the Solution with App Studio

    I want to keep things as simple as possible, so for this example, I'm using the "Empty App" template, adding a single feed from our Falafel Blogs. Here's a quick look at the project page on App Studio:

    image

    Retargeting the PCL for Xamarin

    The Universal project includes a Data project which contains the classes for accessing data which we will want to share to the Xamarin Android project. Although this is a Portable Class Library, it's only targeted to Windows and Windows Phone 8.1. A quick change to the project properties will take care of that.

    ...

    ...

    Adding the Android Project

    At this point your solution should be able to build, and we can proceed to add the Android Xamarin project. Obviously you need to have Xamarin installed, and for more information on getting started be sure to take a look at their Getting Started With Android Guide.

    Add a new Android project to the solution. One important thing I discovered is that if the name of your app ends with ".Android" you will have problems resolving references from the Android component libraries in Xamarin.

    ...

    image

    ...

    Conclusions and Considerations

    I kept things simple here, using the minimal amount of code from the AppStudio.Data project to make it easy to port to Android. Obviously the more components and datasources your App Studio project uses, the more complex it might be to port everything over.

    However, we have seen that Xamarin can be a true cross-platform solution, reusing C# code developed exclusively for use by Windows and with only some minor changes and a new UI, expand its reach to an entirely new platform!

    Download the source code and try it for yourself: ... [GD: Click through for the link]

    ...

    image..."

    You have to admit, that's pretty darn cool. I wouldn't have ever thought that I could take an AppStudio app and with a little tweaking get it run on Android. That's like some kind of Xamarin super power or something (well the super power of portable at least... :)

    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

    4+1 Free Resources for Windows Store and Windows Phone App Development

    Rob W Irving - Great free resources for improving your Windows Phone App

    Last month at the MMADNJ user group Nick Landry (@ActiveNick) started doing a ‘show & tell’ segment for published app developers to share some of their work. I talked about Car Dash and shared some tips and free resources I used to make the app successful.

    Today I wanted to go into some more details on some of these resources. There a lot of great tools available, and many of them are free for independent app developers.

    UserVoice ....

    OneSkyApp ...

    WPCentral and WMPowerUser ...

    Modern UI Icons ...

    image..."

    See you learn something new every day. I hadn't heard of OneSkyApp or Modern UI Icons before reading Rob's post. I love the Net! :)

    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...

    Monday, June 23, 2014

    From Studio to Studio - Apps made in App Studio, opened in Visual Studio

    Pluralsight blog - Taking Windows Phone apps from App Studio to Visual Studio

    Microsoft’s App Studio just got a whole lot more powerful. In the latest version, you can make universal apps that run on Windows Phone 8.1 and Windows 8.1, as well as Windows Phone 8 apps – you can also include maps, music and RSS feeds. Even better, you can speed up the whole process by getting started in App Studio and then opening your code in Visual Studio.

    ...

    You can also create your entire app right in App Studio. This includes making the manifest by adding details in the Publisher info section; you’ll need to create a privacy statement and include the publisher information for your developer account if you want it published to the official Store. It should also be noted that you’ll have to create screenshots separately, since you can’t do this in App Studio (you can either run it on your device or load it in Visual Studio and grab screenshots from the emulator).

    Opening apps in Visual Studio

    If you want to add social connections, tweak the Windows tile, create a multilingual app or include advertising, you’ll need to open your app in Visual Studio. To do this, make sure you have Visual Studio and the latest version of the Windows Phone SDK installed (download here). Choose “Finish” on the App Studio site, then “Generate.” Along with the installable download package and the Publish package, this also generates a source code package. If you created an app in the first version of App Studio, it’s worth going back and getting the source code again; the new release creates much cleaner, higher quality code using the MVVM pattern.

    ...

    image

    AppStudio can make Windows Phone 8 apps or universal phone and Windows apps.

    Remember, you can choose Windows Phone 8 or universal apps here; they need Windows Phone 8.1 so if you don’t have the developer preview on your phone, you won’t be able to sideload them. If you want, you can generate the Windows Phone 8 app, then click the Generate button again to get the universal code. (You’ll need to change the App.zip file name if you download both, but you’ll probably want to do that anyway.)

    If you don’t want to go through the steps of starting your app on App Studio, you can also download the source code for the two sample apps on the site. This gives you an outline MVVM app you can use to get started, with placeholders that can be changed.

    When you open your project, Visual Studio should automatically load the packages from NuGet that App Studio uses, ...

    ...

    To localize an app with multiple languages, open the AppResources.resx file in the Resources folder of your project source code. On the project’s Properties page in the Supported Culture box, select whichever languages you want to use for the UI.

    Visual Studio will create a new resource file for each supported language that is a duplicate of the AppResources.resx default language resource file, renamed using the locale code, such as AppResources.de-DE.resx for German and Germany or AppResources.de-AT.resx for German and Austria. Edit each language file to put in the correct UI strings. Now, when you build, your app should be multi-lingual.

    The new version of App Studio makes more powerful apps than the original, but they’re still basic. Opening the code in Visual Studio means you can get started with an app quickly, including adding resources like tiles and icons. In a nutshell, the new App Studio lets you get cracking on the interesting code more quickly.

    ... [Click through to read the entire post, see all the pictures and support the author :]

    I dig that you can kind of scaffold the app in App Studio and then apply your personal tweaks in VS. The power dev's can make their App Studio App's stand out from the rest... :)

    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