Future blogs on Visual Basic can be found on the official .NET blog going forward.
Visual Basic Blog
A group blog from members of the VB team
Latest posts
Visual Basic support planned for .NET 5.0
We’ve heard your feedback that you want Visual Basic on .NET Core. Visual Basic in .NET 5 will support additional application types.
Visual Basic in .NET Core 3.0
Visual Basic in .NET Core 3 Update: March 12, 2020 This strategy described in this 2018 post has been replaced with the one in this post. Update: Oct 8, 2019 .NET Core 3.0 contains portions of the Visual Basic.NET Runtime (microsoft.visualbasic.dll) that do not depend on WinForms. Visual Basic.NET support for WinForms, WPF, and other application types in .NET Core 3.0 is similar to C#. Special features of the Visual Basic.NET Runtime (microsoft.visualbasic.dll) are not in .NET Core 3.0. As an example, application startup using application models are not supported. Visual Basic.NET desktop templates...
Combining Angular, Visual Basic and .NET Core for developing modern web apps
Visual Basic supports .NET Core starting in Visual Studio 2017 Update 3 (15.3). This opens new possibilities for new applications and modernizing existing applications. Preserving domain-specific code when modernizing applications allows step-wise conversions, decreases cost, and avoids disruptions. This post covers using Visual Basic ASP.NET Core WebAPI for the back end, along with a new TypeScript and Angular front end. Working in Visual Basic lets you work in your favorite language and reuse existing business logic. The TypeScript/Angular front end provides a responsive SPA (single-page-application) user inter...
Roslyn Primer – Part I: Anatomy of a Compiler
So, you’ve heard that VB (and C#) are open source now and you want to dive in and contribute. If you haven’t spent your life building compilers, you probably don’t know where to start. No worries, I’ll walk you through it. This post is the first of a series of blog posts focused on the Roslyn codebase. They’re intended as a primer for prototyping language features proposed on the VB Language Design repo; and contributing compiler and IDE features, and bug fixes on the Roslyn repo, both on GitHub. Despite the topic, these posts are written from the perspective of someone who’s never taken a course in compilers (I ...
Dependency Injection with Visual Basic .NET – Part 2 – IoC Containers
This post was authored by guest blogger André Obelink, a Visual Basic MVP, and published by the VBTeam on his behalf. In my previous post, I wrote about the basics of dependency injection. I explained the technique to define an interface and injecting the dependencies to a client object. These dependencies contain the real implementation of that specific interface. Applying dependency injection makes your code more loosely coupled, which helps you in maintaining, extending, and testing your codebase. The example we ended up with works fine, but it can still be improved for some scenarios. In this post I will sho...
Dependency Injection with Visual Basic .NET – Part 1
This post was authored by guest blogger André Obelink, a Visual Basic MVP, and published by the VBTeam on his behalf. In this first blog post of a series of two, I explain what dependency injection (DI) is and why you might want to use this design principle in your software. The target audience of this post is the junior / medium experienced software developer, with no knowledge of dependency injection or related techniques. In the second post, I’ll describe the use of Inversion of Control Containers (IoC containers), to use dependency injection in a much more flexible way. What is dependency injection? Dependenc...
New for Visual Basic: .NET Standard Class Libraries and the dotnet CLI!
Visual Studio 2017 15.3 Preview 1 included templates for VB class libraries targeting .NET Standard class libraries and for .NET Core console apps. With the release of .NET Core 2.0 today those templates go-live. The .NET Standard You can use the built-in templates to create cross-platform command-line apps, as well as creating and testing cross-platform VB libraries targeting the new .NET Standard. When you target a version of the .NET Standard you get access to all the APIs included in that version of the standard. You can then use that single library in any app targeting a platform that supports that version...
Visual Basic and Cross-Platform: Mobile Apps with VB, Xamarin, and .NET Standard!
How would you like it if you could create a Console App in Visual Basic and run it on Linux? Or running the same Xamarin.Forms-App written in Visual Basic on an iPhone, and Android and a Windows Tablet? Welcome to the world of cross-platform development, which from Visual Studio 2017 Update 3 on – thanks to .NET Standard and .NET Core – is now also available for Visual Basic! Well, currently the preview of Visual Studio 2017 lets you use this, and it is the best set of features that Update 3 (aka VS 15.3) will bring for us VBs: We are getting Visual Basic .NET Core and .NET Standard templates. Note though, that t...
Introduction to (Live) Unit Testing in Visual Basic… [updated for VS 2017 Update 3 Preview 3]
...and Why My Grandma Invented the Concept! Meet late Grandma Grete Schindler. I'd like to introduce you to my grandma, because this post will be about the essence and purpose of unit testing in Visual Basic, and Granny Grete basically invented the concept of unit testing. Yes, she really did, I kid you not – she was a very wise woman! When she saw someone in our family doing their work in a hectic rather than a thoughtful way, she always quoted her most favorite Silesian proverb: “Kinder, schmeißt nicht mit dem Hintern um, was ihr mühsam mit den Händen aufgebaut habt” – which roughly translates to “Kids, ...
Easy Async and Await for VBs Part 1, or…
...letting your code do absolutely nothing! We’ve all been there, one way or the other. Either as users of an app or as the developer to whom users complained to: When a typical Win32 app is waiting for an operation to complete, we often get to see something like this: In discussions about how to get a handle on such scenarios there are all kinds of suggestions, one of the most frequent ones being “You need to do this asynchronously: Just start a new thread! You can do that with Tasks.” And this is when people start introducing patterns like the following into their code which in most cases is not only unnecessa...
Why VB2017 only supports consuming ref returning methods
Hi VBers, Last week Klaus wrote an amazing post detailing a number of improvements made to the Visual Basic IDE and language in Visual Studio 2017 (and he even forgot one, stay tuned for awesome). Regarding the new ref-return feature Jonathan Allen inquired as to why the design was so different from the one in C#. It's not uncommon for considerations in one language to be different in the other or for the styles of the languages to yield different design decisions, even from the same people. But it's a great question so I thought I'd write up a longer explanation for the VB design. To put it bluntly, the capabili...
What's New in Visual Basic 2017
Visual Studio 2017 just shipped, and with it shipped a new version of Visual Basic. With the new language strategy of the .NET Languages, the focus is again on Visual Basic’s original virtue: Provide editor, debugging and refactoring tools as well as language feature to ease complex tasks and boost every VB’s developer productivity without distracting them from their domain specific excellence. After all, it always was first Visual Basic which put the ‘Visual’ into Visual Studio, and let developers get the work done efficiently, yet without compromises in quality! 😎 Speed up Solution Loading times with Enable Lig...
Digging Deeper into the Visual Basic Language Strategy
Today Mads made an excellent post about our overall .NET Language Strategy. As I know this will raise a lot of questions in the VB community I wanted to take an entire post on the VB team blog to dive deeper into how VB fits into that strategy and why and what that means in practical terms for us as a community. Looking Back Six and half years ago, the Visual Studio Languages team laid out the motivations for our then-new co-evolution strategy. Mainly the significant overlap in adoption between VB and C# in adoption and use cases and four "powerful unifying forces" they shared: What's Changed? ...
Relaunching the Visual Basic Team Blog
Last year we decided to retire this blog and consolidate content on the .NET team blog instead. The thinking at the time was that we weren’t really posting a lot of content to it and that there was so much overlap in content between the VB team blog and the C# FAQ that it would be simpler to just focus on the .NET blog. Since then my experience has been that the Visual Basic community still needs a place of its own to discuss topics uniquely relevant to VB developers so we’re relaunching this blog. The .NET team blog will continue to be the source for the latest information on the .NET platform; which is of cours...
New VB T-Shirt Designs on the .NET Blog – Tell Us What You Think
[Update: You can get these cool T-Shirts @ the .NET Swag Store - get yours today!] Mads and Dustin showed off their cool VB and C# team t-shirts at BUILD and tons of people liked them and asked where they could get one. So, we're thinking about making them available for purchase online. I've been working on some new designs and would love to know what you think. See the designs and leave your feedback on the full post over on the .NET team blog. Regards, -ADG
Roslyn ships v1.0-rc2 with "Go-Live" license
For the last six years you've heard us go on and on about this Roslyn thing and how it's the platform for the future and would change everything and that we were all-in on it and "it's going to be great just wait and see". Well, the wait is over. This morning, at BUILD, Principal Program Managers of the Managed Languages Team Mads Torgersen and Dustin Campbell showed during their "What's New in C# 6 and Visual Basic 14" talk that Roslyn is here and Roslyn is ready. As of yesterday Roslyn has a "Go-Live" license. This is the culmination of over half a decade of design and investment from some of the brightest min...
A Journey Through Open Source: The Trials & Triumphs in Roslyn's First Year of Open Source
"I am looking for someone to share in an adventure." — Gandalf, The Hobbit, J.R.R. Tolkien On April 3, 2014, Anders Hejlsberg set us on our open source journey when he made the .NET Compiler Platform (aka “Roslyn”) source code public live on stage in San Francisco. Without much open source experience to guide us (or a Grey Wizard), we anxiously yet excitedly hit the open roads. This post details the real and true story of the trials and triumphs we’ve experienced in Roslyn’s first year of open source. The Call to Adventure Previously, in order for developers to build a code-...
Lowercase Keywords Revisited (not an April Fools’ Day joke this time, I promise)
Hey all, I hope you enjoyed yesterday's April Fools' Day post. I thought it was a fun way to kick off an experiment I'd like to conduct and in this post I'll tell you how you can actually try out lowercase keywords for VB on your machine right now no matter what version of VS you're using (no joke). You see, a few years back Architect-emeritus Paul Vick asked a question, "Do PascalCased keywords make VB look more verbose than it really is?" At the time I didn't really give the question enough thought but a lot of commenters responded positively about the look (both then and yesterday) and recently I got to thin...
How “Roslyn” Finally Unshackled Visual Basic From The Tyranny of the Pretty-Lister
UPDATE 2015-04-02: After reading this post be sure to read the follow-up post! I was chatting with an old Microsoftie a while ago and he let me in on the real story behind Visual Basic’s at times aggressive reformatting of code. It turns out that it didn’t actually start out as a feature but as a consequence of how the IDE was implemented. You see, older computers had significantly more limited memory available to them by modern standards. Every byte was precious. If you were to look at the way the VB IDE works today there are separate layers and data structures for representing the syntax of the lan...
Edit & Continue and Make Object ID Improvements in CTP 6
It's the beginning of a new year! According to Back to the Future Part II, everyone will be riding hoverboards in a couple months (and, let's be honest, Doc would love the HoloLens). In the meantime, let's explore the enhancements we've made to the Visual Studio debugging experience. In CTP 6, we improved the edits supported by Edit & Continue and now support Make Object ID in the new 2015 VB and C# expression evaluators. Before you read more about our improvements in CTP 6, make sure you have read Anthony's post on debugging improvements in Visual Studio 2015 Preview. Edit & Continue is reaching its pote...
We're moving to GitHub!
It’s official. We’re moving to GitHub! We are moving the Roslyn OSS code from CodePlex to GitHub. GitHub has a vibrant open source community that we want to actively be a part of and contribute to. We are also going to take this time to modify our pull request process. Please see below for more details: WHEN: This upcoming Wednesday or Thursday, depending on whether we encounter any problems. WHERE: Under the .NET Foundation. More details coming soon. HERE! (Edit: 1/16/15) WHY: We are moving our code to GitHub as well as switching to use git internally. This means we wi...
Better together: Visual Basic 14 and the Visual Studio 2015 Debugger
"Lambdas! Lambdas! Lambdas! Lambdas! ..." If you hadn't heard, Visual Studio 2015 will support the use of lambda expressions in the debugger windows. We're all very excited to deliver on this longstanding TOP customer request. When LINQ was introduced in 2008 it was a game changer for the way .NET developers think about and code with data. So, to finally be able to use these powerful coding constructs with the Visual Studio debugger is a match made in Redmond. But wait. There's more! The new expression evaluators (the language-specific components that enable you to run snippets of code in various debugger contex...
New Language Features in Visual Basic 14
"Visual Basic 14" is the version of Visual Basic that will ship with Visual Studio 2015. In this blog post I'll talk specifically about the VB language improvements in this release. (Separately, there are a whole host of IDE and project-system improvements as well). There are two overall themes to the language improvements: (1) Make common coding patterns a little cleaner, with easy-to-grasp syntax (2) Fix up some irritating corners of the language that you probably already expected to work. This release will be easier to digest than was Visual Basic 12, with its introduction of async! (The version number of Visu...
New Language Features in Visual Basic 14 (animated)
"Visual Basic 14" is the version of Visual Basic that will ship with Visual Studio 2015. In this blog post I'll talk specifically about the VB language improvements in this release. (Separately, there are a whole host of IDE and project-system improvements as well). There are two overall themes to the language improvements: (1) Make common coding patterns a little cleaner, with easy-to-grasp syntax (2) Fix up some irritating corners of the language that you probably already expected to work. This release will be easier to digest than was Visual Basic 12, with its introduction of async! (The version number of Visu...
Post-Release Goodies
The Rosetta lander Philae wasn't the only thing in space last week. Our launch of Visual Studio 2015 Preview and our announcement to open source the full .NET server stack were out of this world. After all, it’s not every day that you can say your work trended higher than Kim Kardashian on Twitter. After an overwhelmingly positive reception to the news of .NET going open source, we want to make sure you know how and where to contribute. The .NET Core repository already has closed about 80 pull-requests (with the majority being merged) and there are some great community efforts going on right now. Here are...
Short Videos Demonstrating What’s New in Visual Studio 2015 Preview for C#, VB, and F#
Our team has put together a set of short videos to highlight some of our work in Visual Studio 2015 Preview. Check them out to learn more about what’s new in C# and VB, how F# can be good for enterprise, and how to improve your code quality with “analyzers”. To learn more about our team’s work in Visual Studio 2015 Preview, check out our overview post. Over 'n' out Kasey Uhlenhuth, Program Manager, Managed Languages Team
Introducing the Visual Studio 2015 Preview for VB and C#
Download Visual Studio 2015 Preview and review the release notes. Over the past several years, our team has been hard at work re-implementing the full language stacks for Visual Basic and C#. While this was a long investment, we knew that an improved stack with a cleaner architecture would allow our team to work faster, empower others to build "code smart" tools and applications, and create a richer and smarter IDE experience in Visual Studio. Today, we are pleased to announce that this work has culminated with the release of Visual Studio 2015 Preview. Visual Studio 2015 Preview showcases many improvements&mdash...
.NET Compiler Platform ("Roslyn") for the Rest of Us
WOW! It’s been a while -- almost exactly 4 years since yours truly, Beth Massi, last posted on the VB Team blog (although it’s cool to see I’m still in the tag cloud ;-)). I’m honored to be a special guest post today. If you’ve been reading this team blog I’m sure you know by now that the .NET Compiler Platform (code named "Roslyn") is the next generation of the Visual Basic and C# .NET compilers. But what does that mean? I was up in Redmond a couple weeks ago and I caught up with Dustin Campbell (Program Manager on the Managed Languages Team) and sat him down to explain Roslyn to me, a .NET dev...
VB Universal Windows App: downloads
Here are download links for the "VB Universal Windows App" series: App1.vb This is the minimal VB universal app that we'll build in this blog series. Breakout Universal This is a complete game, based upon all the principles that were covered in the blog series. How Do I video series -- Lucian
VB Universal Windows App Part 5: calling into platform-specific APIs from PCL
This is Part 5 of the "VB Universal Windows App" series: So far we've been able to re-use all our code and XAML by placing them in the PCL. Actually, PCLs can only ever contain calls to APIs that are common to the platforms they target. This generally isn't a problem, because most APIs on Windows also exist on Windows Phone, and vice versa. Today we'll explore how to call platform--specific APIs from Common code. In particular, we'll make it so our common main page can hide the Windows Phone statusbar (with connection quality, battery, clock) - when it's running on Windows Phone, of course. Ther...
VB Universal Windows App Part 4: using SharpDX for sound effects
This is Part 4 of the "VB Universal Windows App" series: So far we've built a solid app, sharing as much code and XAML as possible by placing it in our PCL. For today's post we'll continue the process, adding game-quality sound effects to our app. SharpDX is the best way to do this. Please bear with me. This is a long technical post, because playing game-like audio is a technically involved low-level task. The video lasts 3 minutes, and you should watch it first before returning to read the rest of this post, in which I’ll explain the why as well as the how. I wish audio wer...
VB Universal Windows App Part 3 (for the end-user): roaming settings, and in-app purchases
This is Part 3 of the "VB Universal Windows App" series: In the first two parts we set up a VS Solution that helped us to share between our two app projects. In this post, we're going to code in the user-facing benefits of universal Windows apps. From an end-user perspective, the benefit of universal Windows apps is that (1) if you buy the app in one store then it counts as bought in both, (2) if you buy a durable in-app purchase on one device then it counts as bought on both, (3) settings will roam between the Windows and Windows Phone versions of an app. The first part (buy the app in one sto...
VB Universal Windows App Part 2 (for the developer): sharing XAML, Assets and Code
This is Part 2 of the "VB Universal Windows App" series: In Part 1 we set ourselves up by registering the app in the two Dev Centers, and by creating the basic structure in Solution Explorer. In Part 2 today, we're going to share! From a developer perspective, the benefit of universal Windows apps is in sharing as much as possible between the two projects you have to build. Let's step back and see what can be re-used... Sharing XAML For our simple game, we're going to re-use a single XAML page and code-behind between Windows and Windows Phone versions of the app. That's...
VB Universal Windows App Part 1: Getting Started
This is Part 1 of the "VB Universal Windows App" series: Recently in April 2014, Microsoft announced Universal Windows Apps. I thought I'd take an old Silverlight paddle game and turn it into a VB Universal Windows App. Here's how the finished game looks, on devices and in the stores: What is a Universal Windows App? A "universal Windows app" is a great end-user experience. It means the user of your app can buy the app on Phone, say, and it counts as purchased on Store as well. The user can make an in-app purchase on one device and it counts as purchased on the other. The user...
Visual Studio “14” CTP Now Available
As announced today by Soma, we've just released the first CTP (Community Technology Preview) of the next version of Visual Studio. This is doubly-exciting as this is the first public release of a version of Visual Studio powered by "Roslyn" by default. At BUILD we released the "Roslyn" End User Preview which extends Visual Studio 2013 by replacing some components with their "Roslyn" equivalents but this version of Visual Studio is built from the ground up on "Roslyn" with "Roslyn". The Visual Studio "14" CTP includes new and improved language and IDE features for Visual Basic such as multiline strings and a fu...
Edit and Continue survey results
Thanks everybody for all the great feedback! We've received hundreds of replies since last week with detailed information and concrete examples for us to review. We are closing the survey today and have started to process the tons of data you have provided. The overwhelming majority of you have told us that Edit and Continue is important and you'd like us to make it even better. We asked of the scenarios we'd identified where Edit and Continue is disallowed today how many of you were impacted by which restrictions and here's what you said: As you can see the most frequently reported ...
TechEd: "The Future of Visual Basic and C#" Video Now Available Online!
If you didn't get a change to make it to TechEd this year, fret not, we got it all on video for your viewing pleasure. Join Principal Program Managers Dustin Campbell and Mads Torgersen as they give you the inside scoop on the future of VB and C#. You'll learn about: And better than just showing off all of these cool features you can get your hands on many of them today with today with the "Roslyn" End-User Preview. This preview includes the new code editing experience we're building for VB and C# as well as a smattering of new language features and a preview of the "Roslyn" APIs. If you haven't had a ch...
Help make Edit and Continue better!
UPDATE 2014-05-20: We've received enough responses and the survey is now closed. Thanks everyone! Hey VB developers! Do you get tired of seeing this box (I know I do)? Tell us about it! The Visual Studio team would like your anonymous feedback on improving Edit and Continue (E&C) when developing .NET applications. This survey can take as little as 3 minutes to complete (I’ve saved you some time already by copying all the words on that page to this page so you don’t have to read it twice) and will guide ongoing support and making it work in more places. If you consider yourself a regular E&am...
*New* video series on Windows Store App development using Visual Basic on Microsoft Virtual Academy
Hey VB hackers, Microsoft Virtual Academy recently published a six-part series all about building modern apps for the Windows Store using your favorite language and staring Visual Basic MVP Bill Burrows and yours truly :) Microsoft Virtual Academy is a free service available to anyone to sharpen their skills and learn the latest and greatest technologies. In this series we talk about some of the fundamentals of making applications which take full advantage of all Windows 8 and 8.1 have to offer to create “fast and fluid” experiences for your users as well as how to use new language features added to ...
QuickVB Goes Open Source!
Yesterday we published a copy of a fun “Roslyn”-powered retro editor for Visual Basic called QuickVB in honor of the 50th birthday of BASIC. We thought this was a neat application to showcase our love of BASIC but since then we’ve realized that it’s also a great example of how to put the power of the .NET Compiler Platform (“Roslyn”) APIs to use.In the spirit of openness we’ve decided to open source QuickVB as a sample project on CodePlex so that others may tinker with it and learn from it.Have fun!Alex Turner, Ian Halliday, Anthony D. Green on behalf of the Managed Langu...
Happy 50th Birthday, BASIC!
UPDATE: QuickVB is now open source! The Visual Basic team joins Dartmouth and developers worldwide whose lives have been touched by this amazing language in wishing Dartmouth BASIC (and indeed the whole BASIC family of languages) a very happy 50th birthday (and many more) today! So many of us here on the Managed Languages team got our start with one dialect of BASIC or another we couldn’t help but put together something to show our nostalgia and affection for our roots. In homage to grandpa BASIC’s 50th we give you: QuickVB. QuickVB is powered by the .NET Compiler Platform ("Roslyn") NuGet packages...
Visualizing Roslyn Syntax Trees
Hello everyone! I hope you had a chance to catch the recent announcements around the .NET Compiler Platform (“Roslyn”). If not, I encourage you to view Anders’s presentation at Build 2014 (skip to 1:10:28). If you haven’t already, download the previews and take them for a spin! What’s included? The Roslyn compiler codebase is now open source. Check out Matt’s recent post for details around how to enlist in the open source project and modify the compiler. In addition to the End User Preview that Matt discussed at the beginning of his post, we are also releasing an SDK Preview. The End User Preview allows you to ...
Taking a tour of Roslyn
It’s a big day for us on the Managed Languages team! As announced at the //BUILD conference earlier today, and as posted by Soma on his blog, we are not just delivering a new preview of Roslyn to all of you, but are in fact moving all of the compiler code to open source! The code will be released and maintained by MS Open Tech, who are our partners in this endeavor. The goal of open-sourcing the compilers is something that we’ve been working towards for just over a year, and we’re really excited that it’s finally time to make the “big reveal.” (Best of all, we no longer have to try to keep a poker face every tim...
Roslyn performance (Matt Gertz)
(For the next few posts, I’m going to introduce readers to the different feature teams in the Managed Languages org. Today, I’m starting this with a focus on the performance team.)Back in 2000, I found myself assigned to be the performance lead of the Visual Basic team, and my first assigned goal was to drive the performance marks of the (then) forthcoming Visual Basic .NET to be in line with the numbers for Visual Basic 6.0. The primary focus was on the VB runtime APIs at first. That was a relatively simple task; APIs are nicely discrete bits of code, easy to measure and easy to eva...
Updated license for September 2012 Roslyn preview available (MattGe)
As I mentioned in my previous blog post, we ended up with a little too much time between previews, to our subsequent embarrassment. In fact, it came to our attention recently that the licensing for the most “recent” CTP (and admittedly I use the term “recent” loosely, given that it was released in September 2012) is set to expire on January 1st, 2014. We don’t really want to reopen a 15-month-old deliverable to update the license, particularly when the code involved is completely out-of-date and we’re working on a plan to resume previews anyway (as I also menti...
Throwing the Big Switch on Roslyn (Matt Gertz, VS Managed Languages Development Manager)
So, the entryway to my house has eight light switches along the wall. Two of them control the porch lights, and another two work the same entryway light (despite the switches being only a couple of feet apart). I haven’t the foggiest idea what the rest of the switches do. I’ve been scared to try them out, actually. (I worry that one day I’ll accidentally throw one of them and find out later that my couch is missing or something odd like that.) However, I am pleased to announce that we’ve turned on quite a different switch here on the Managed Languages team, with ve...
No new VB and C# Language Features in VS 2013
As you can see in the VS2013 Preview, we have not added new language features to Visual Basic and C# in the next version of Visual Studio. I’d like to share our thinking on this. There are essentially two main reasons why we chose not to evolve the languages this time around.The most important is that we just shipped new versions of these two languages less than a year ago, with support for asynchrony being a major new and impactful language feature in both. Developers are still learning how to integrate and benefit from the asynchrony shift in languages and APIs. We are very excited about the quicker pace ...
Roslyn September 2012 CTP Available for Download!
VB Enthusiasts,Following last Wednesday’s official launch of Visual Studio 2012, we’re excited to announce that the Roslyn September 2012 CTP is now available for download and provides support for VS 2012 RTM. Please note that Visual Studio 2010 is no longer supported by this CTP.We’ve been hard at work since the first public release of Roslyn adding support for new language features and improving our APIs. In addition, we’ve also updated our NuGet packages to match the September 2012 CTP.As always, your feedback is critical! Please get involved in the discussion on the Roslyn forum, file ...
Install Published Samples with Visual Studio
You can use Visual Studio 2012 RC to download and install samples from the MSDN Code Gallery. You can download only the samples you need, or you can download one or more Sample Packs, which group several samples that relate to a technology or topic. You'll receive a notification if source code changes are published for any sample that you download.To locate the samples, open the New Project dialog, and then expand the Online tab, and then the Samples node.To locate the sample packs, choose Tools, Extensions and Updates on the menu bar. In the Extensions and Updates dialog box, expand the Online tab, a...
More VB Metro Samples available
With the recent release of the Windows 8 Release Preview and the Visual Studio 2012 Release Candidate we also have more of the Metro samples available for VB developers.Although not all the samples are available for VB, there is a good selection of samples showing you how utilize much of the important functionality now available. More samples will be made available as the all the products move towards their final RTM relase.Spotty ResourcesWindows 8 Release Preview - http://windows.microsoft.com/en-US/windows-8/release-previewVisual Studio 2012 RC - http://www.microsoft.com/visualstudio/11/...
Announcing Microsoft “Roslyn” June 2012 CTP
Hey, fellow VBs,Today, we're excited to announce that the Roslyn June 2012 CTP is now available for download!Since the first public release of Roslyn, we’ve been hard at work implementing new language features, addressing top customer feedback from the October CTP, iterating on our API design and improving performance across our IDE and compiler scenarios. With the recent release of Visual Studio 2012 RC, we have updated the Roslyn CTP to work with Visual Studio 2012 RC. There’s never been a better time to grab the VS 2012 RC and the Roslyn CTP!You can find an in-depth look at what’s...
Kinect SDK v1.5 – Now with VB Samples !!!
As developers start to realize the full potential of Microsoft Kinect and new hardware is made available for the PC it’s really great to see the Kinect team provide some sample support for VB developers. For a while the Compilers team (who handle both VB and C# compilers) have been hearing VB developers asking for content on new technologies and have been working with other product teams to ensure VB developers get some content in a timely manner. The Kinect team has included a “Basics” series of samples with language coverage in C++, C# and Visual Basic. Kud...
Async Targeting Pack for Visual Studio 11, now available for .NET 4 and Silverlight 5
If you’ve held off trying Visual Studio 11 Beta because your .NET 4 or Silverlight 5 app uses the Async CTP, your wait is over!Today we’ve published the Async Targeting Pack for Visual Studio 11, a NuGet package that lets your Visual Studio 11 projects target .NET 4 and Silverlight 5 while taking advantage of VB11's new Await keyword. While Visual Studio 11 provides built-in support for Await in projects that target .NET 4.5 or .NET for Metro style apps, this targeting pack provides the API support to expand the set of target platforms to include .NET 4 and Silverlight 5 as well.Check out o...
Visual Basic 11 Beta Available for Download!
As you may have read in Jason’s announcement, today we announced that Visual Studio 11 Beta is now available for download. This is a huge release for Visual Basic as it provides full platform support for building Windows 8 Metro style apps, a first-class asynchronous programming experience, and also the long-awaited Iterators feature. And in the true spirit of VB, you’ll see a ton of other improvements that will make you more productive every day. AsyncAs the world moves to mobile phones and tablets, the demand for responsiveness in today’s applications is higher than ever...
New VB XNA Sample – showing Xbox, Windows and Phone targetting
For all those who have started venturing into developing windows phone applications, there are quite a few samples utilizing Silverlight, but the XNA content has been a little bit light. (We are working on getting some more XNA VB samples online). But for those wanting to see a nice VB example of XNA development, the Blackjack sample written in VB is now online. This sample shows a single application which has been written to target all three of the XNA platforms (windows, XBox 360 and windows Phone) with a simple game that is easy to follow the code.http://crea...
VB Support for Microsoft Surface 2.0
Touch screen are great and we’ve seen their use on phone and slates but sometimes these screens still just are not big enough. For those who desire bigger touch screens, Microsoft surface may be the answer. Microsoft surface has been around a while and there have been significant changes with version 2.0. Version 2.0 introduces new functionality and support for more compact hardware. A glance at the Microsoft Surface team web site reveals some incredibly interesting uses for the technology.The samples provided are a great introduc...
Roslyn Syntax Visualizers
Hi All! A few weeks ago, we announced the Microsoft "Roslyn" CTP. I hope many of you have had a chance to download the CTP and take it for a spin :) If you haven’t, do give it a try. To recap – in the Roslyn CTP, we are previewing a powerful set of language services APIs that you can use within your apps to reason about VB and C# code. We are also previewing IDE extensibility points for VB and C# that will allow you to build rich code refactorings, quick fixes etc. that run inside Visual Studio. In this post, I just wanted to point out a couple of tools that you may be interested in if you are worki...
Putting back functionality left out of VB Core – ( If you can't live without Mid when writing WP7 apps ;-) )
For development of windows phone applications a new feature was added to the Visual Basic compiler known as VB Core. This is a reduced version of the runtime designed to allow development for a broader variety of platforms without incurring the larger penalty of having a full VB runtime containing non-supported or older VB6 legacy functionality which are now implemented as part of the framework itself. However this results in some features not being supported on this platform such as Late binding, My functionality and somelegacy VB functions. You may not be targeting WP7 yet but this reduced runtime is also being...
Halloween: VB Style!
Imagine this. It’s Halloween. You’ve got a costume party to go to at 7 but there’s one small hiccup – you’ve got no costume. As a VB programmer you’re used to coming up with nick-of-time solutions to all manner of complex business problems but all your coding skills won’t help you now. After all, you can’t just code up a costume – or can you? Here’s a little number I cooked up two years ago (before I joined the Developer Ghouls division at Microsoft) called the Opensourus Hex costume. First, make up a short but interesting VB program and write it out (i...
Introducing the Microsoft "Roslyn" CTP
(Begin dramatic movie trailer music, slow PowerPoint slide show with cliché sound effects) OK, maybe I have a flair for the dramatic but that’s because today is such a dramatically exciting day. After years of foreshadowing, and mentioning, and updating on our part I’m thrilled to announce on behalf of the united Visual Basic & C# Languages Team the availability of the Microsoft “Roslyn” CTP. This early preview represents an incredible milestone for us in a years-long process of bootstrapping both languages and providing a rich set of APIs exposing a host of compiler anal...
Announcement: Namespace Global
There’s a new feature coming to VB, and already included in the Visual Studio 11 Developer Preview. The feature is called Namespace Global and it’ll make your life easier… The MSDN reference on namespaces (including Namespace Global) is here: Namespaces in Visual Basic. As an aside, I’d like to thank Shimmy Wietzhandler for requesting this feature in Microsoft Connect, and also the people who emailed or who wrote in with comments to Lucian Wischik’s VB language-design blog. It’s from user feedback like these that we decide which features to prioritize. For the future...
Visual Studio 11 Developer Preview: Visual Basic (VB) Call Hierarchy
By Zain Naboulsi (Blog) Default: CTRL + ALT + K Menu: View | Call Hierarchy Command: View.CallHierarchy; EditorContextMenus.CodeWindow.ViewCallHierarchy Versions: Visual Studio 11 Developer Preview Languages: VB With the announcement of the Visual Studio 11 Developer Preview it’s time to take a look at some of the features you can start using with our latest version of the IDE right away. If you are already familiar with the C++/C# Call Hierarchy feature from my previous blog post then you are already familiar with the features and may just want to start playing with this on your own. Fo...
Dynamics CRM 2011 Developer Training Kit – Updated with VB Source
An update to the training kit has been made providing Visual Basic developers with sample code for the development features of Dynamics CRM and help them build applications using Microsoft Dynamics CRM 2011 and CRM Online.Download available athttp://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23416
Updated Samples for WP7 Developers
For those VB developers who are developing (or keen to start developing) for WIndows Phone 7. The samples have been updated and as you'll notice virtually all of them are in both C# and VB.http://msdn.microsoft.com/en-us/library/ff431744(VS.92).aspx
New Async Programming Video's
Some great new video's on MSDN showing how to do async programming using the Async CTP. http://msdn.microsoft.com/en-us/vstudio/hh378091.aspx There are different versions of video's for both VB and C#. This is a great opportunity to see the power of the new Async languages featuresand follow through a series of examples showing how easy it is to use the new feature. Also, the MSDN forums have one specifically dedicated to the Async CTP which compilers team member are monitoring to help answer any questions. http://social.msdn.microsoft.com/Forums/en-US/async/threads [Update] Code Samples ...
Temperature Monitoring using VB.Net, Micro-framework and a Netduino
Introduction As a bit of a geek, I like to tinker with basic gadgets. I often think of little ideas that would be great to implement but the device involves some hardware and very little software. As a software engineer I tend to think in terms of simple programs to but in order to implement something tangible would involve electronics and the interface between embedded electronics and high level languages such as VB or C# is somewhat disconnected. For a long time much of the embedded devices was coded using low level languages such as assembler and the prospect of going back to write assembler or getting...
Kinect SDK For PC – VB Samples available.
Today, Microsoft announced the Kinect SDK for PC http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/download.aspx VB Samples are there at launch and available for downloading http://files.ch9.ms/coding4fun/KinectSDKSamplesVB.zip
Micro-framework v4.2 Support for Visual Basic
The release of .NET Micro framework v4.2 Beta brings Visual Basic support for the .NET Micro-framework. For those that have not heard of the Micro framework before “The .NET Micro Framework is .NET for small and resource constrained devices. It offers a complete and innovative development and execution environment that brings the productivity of modern computing tools to this class of devices.For current .NET developers, this means that they can now create applications that run on a range of devices from targeted devices like remote controls to PCs and Servers and on to the cloud &nd...
VB Support for the XNA platform
With the release of the Mango Toolset, Visual Basic support for XNA and Windows Phone has now been added. VB resources include VB XNA documentation and VB WP7 code samples and starter kits and this post is intended to walk you through some of the steps in creating a simple XNA application for Windows Phone 7 using VB. What is XNA? Microsoft XNA is the development framework and tools used to create application for the Xbox 360 / Desktop PC and also the windows Phone 7. It provides access to build managed game type applications. The goal as with any framework is to avoid the developer having to ...
Happy 20th Birthday Visual Basic!
Twenty years ago, May 20th, 1991 at Windows World, in Atlanta, Microsoft founder Bill Gates demoed Visual Basic 1.0. Twenty years later, the 10th version of this latest in an unbroken line of Microsoft BASIC languages stretching back to Microsoft’s founding is still going strong. When you look back over the history of a tool that’s been around that long you start to see some familiar experiences from Wetware products (commonly called children :P ): The cute and cuddly days of its youth, in the 16-bit era; the awkward teen years and the transition to .NET; sibling rivalry with the new baby (C...
Simultaneous Async Tasks (Alan Berman)
The new Async feature in the Visual Studio Async CTP (SP1 Refresh) provides an elegantly simple technique to make code asynchronous.Our writing team uses an internal app that would benefit from asynchronous calls. For each URL contained in the MSDN documentation that we publish, the app lists the title from the link, and the title parsed from HTML in the downloaded web page. We use the app to verify that URL links are valid.The following example is a very simplified version of the relevant code, which does synchronous reads of multiple web pages. Imports System.Net Imports System.Threading.TasksM...
The Temple of VB (Matt Gertz)
Hi, all!It's been a while since I've posted to this blog, and a lot has happened in my world since then. Though I've been pretty busy on our engineering systems team, I took a little time off last summer to do some traveling and, more importantly, some long overdue writing. Although I'd always enjoyed writing the "here's how you build this application" blog posts, I always felt that I could do a bit more with them, and so I took my favorite posts, cleaned them up, added a lot more text and pictures, and turned them into a Kindle e-book. The posts I've included and expanded on are: the Euchr...
WebMatrix Series #1: How to Create Visual Basic Websites Using WebMatrix
Microsoft WebMatrix is an exciting new product that makes the creation of custom ASP.NET Web sites possible without all the complexity of the full Visual Studio environment. WebMatrix supports web site development in both C# and Visual Basic. In this blog post, I will demonstrate how to create VB websites using Webmatrix. Before you begin, you need to have the following settings configured on your machine: You can create the Visual Basic websites using WebMatrix in the four simple steps as follows: Step 1: Select a Template Step 2: Create a Website using the Calendar Visual Basic Template Step ...
Silverlight 4 Firestarter Series #3: How to work with Panels, XAML, and Controls in Silverlight
I am back with details on how to work with Panels, XAML, and Controls in Silverlight. In this walkthrough, we will see how to work with Panels, XAML, and Controls to create a Data-Driven Silverlight Interface. During this walkthrough we will cover the following topics: Before you begin, you need to download the offline kit from the Firestarter Labs to use the existing applications. To work with Panels, XAML, and Controls follow these three simple steps: Step 1: Create a Data-Driven Interface Step 2: Create a Form Entry to edit the Interface Details Step 3: Add a Menu using the StackPanel Step 1: Create a...
Silverlight 4 Firestarter Series #2: How to migrate an ASP.NET Web Forms Application to Silverlight
In this walkthrough, I will demonstrate how to convert an existing ASP.NET/jQuery application that consumes data from a Windows Communication Foundation (WCF) service to Silverlight. Here are some topics that we will cover: Before you begin you need to download the offline kit from the Firestarter Labs, to use the existing applications. You can migrate an ASP.NET Web Forms application to Silverlight in three simple steps as follows: Step 1: Explore the ASP.NET Web Forms application Step 2: Migrate the ASP.NET application to Silverlight Step 3: Call a WCF Service and Bind data Step 1: Explore the ASP.NE...
Silverlight 4 Firestarter Series #1: How to migrate a Visual Basic Windows Form Application to Silverlight
In this walkthrough, I will demonstrate how to convert an existing Windows Forms application that consumes data from a Windows Communication Foundation (WCF) service to Silverlight. Also in the process of conversion we will ensure that the existing functionality is preserved. Here are some topics that we will cover: Before you begin you need to download the offline kit from the Firestarter Labs, to use the existing applications. You can migrate the Windows Forms application to Silverlight in three simple steps as follows: Step 1: Explore the Windows Forms Application Let’s take a look at the...
Async Feature Control Flow (Alan Berman)
What is asynchronous programming? Let's say you send out an email, then wait and do nothing for the two minutes it takes to get a response back. You do nothing while you're waiting. It's worth waiting because it'll be back fast. When that happens, sending the email and getting a response is synchronous. But another time you send an email and then forget about it and do something completely different. Three and a half hours later--while you're engrossed in activity B, Outlook pops up a message that you got your response. That's asynchronous. You don't know when the response will be received, and you don't hang aro...
Visual Basic Windows Phone 7 Series #11. How to create an accelerometer for Windows Phone 7
Previously, I explained how to create a panorama and pivot effect for Windows Phone 7. In this blog post, I want to share a sample that will help you to create an accelerometer for Windows Phone 7. An accelerometer is a device that measures the proper acceleration of the device. It is a sensor that measures acceleration forces caused by moving the sensor. In this application the accelerometer feature will allow you to determine the orientation and the motion of the phone. Now I will demonstrate how to create an accelerometer for Windows Phone 7, using Visual Basic for Windows Phone Developer Tools. Sounds intere...
Visual Basic Windows Phone 7 Series #10. How to create a panorama and pivot effect for Windows Phone 7
Previously, I explained how to create a keyboard input scope application for Windows Phone 7. In this blog post, I want to share a sample that will help you to create a panorama and pivot effect in Windows Phone 7. A Panorama is any wide-angle view or representation of a physical space, whether in painting, drawing, photography, or a three-dimensional model. This feature allows you to view controls, data, and services by using a long horizontal canvas that extends beyond the confines of the screen. A Pivot is a page orientation in which a rectangular page is oriented for normal viewing. It helps you to easily man...
Visual Basic Windows Phone 7 Series #9. How to create a keyboard input scope application for Windows Phone 7
Visual Basic Windows Phone 7 Series #8. How to create a settings page for Windows Phone 7
Visual Basic Windows Phone 7 Series #7. How to create a Bing Maps application for Windows Phone 7
In our previous post, I explained how to create an application bar for Windows Phone 7. Bing Maps is one of the applications that is commonly used on phones these days. In this blog post, I want to share a sample that will help you to create a Bing Maps application for Windows Phone 7. This application will provide the feature to view maps in road view and aerial view. This application will also provide the zooming in and zooming out features. I will now demonstrate how easy it is to create a Bing Maps application for Windows Phone 7, using Visual Basic for Windows Phone Developer Tools. The Bing Maps application...
Visual Basic Windows Phone 7 Series #6. How to create an application bar for Windows Phone 7
In our last post, I explained how to create a control tilt effect application for Windows Phone 7. In this blog post, I want to share a sample that will help you to create an application bar for Windows Phone 7. This application will allow you to add the menu functionality. It also will allow you to adjust the visibility and opacity of the application bar. I will now demonstrate how easy it is to create an application bar for Windows Phone 7, using Visual Basic for Windows Phone Developer Tools. The application bar can be created in 4 simple steps as follows: Prerequisites: To create the appl...
Visual Basic Windows Phone 7 Series #5. How to create a control tilt effect application for Windows Phone 7
Visual Basic Windows Phone 7 Series #4. How to implement a model-view-viewmodel pattern in a Windows Phone application
In our last post, I explained how to create a custom indeterminate progress bar application for Windows Phone 7. In this blog, I want to share a sample that will help you to implement a model-view-viewmodel pattern in a Windows Phone application. A model-view-viewmodel pattern is used to separate data from the user interface. This pattern allows the developers to code data models and the designers to create user interfaces. In this sample, I will demonstrate how to create a game tracker application by implementing the model-view-viewmodel pattern. I will now demonstrate how easy it is to implement the model-view-...
Visual Basic Windows Phone 7 Series #3. How to create a custom indeterminate progress bar application for Windows Phone 7
Visual Basic Windows Phone 7 Series #2. How to create a microphone application for Windows Phone 7
In our last post, I explained how to create a mini browser for Windows Phone 7. In this blog, I want to share a sample that will help you to create a microphone application for Windows Phone 7. This application will have the feature to capture audio from a microphone and then play back the captured audio. I will now demonstrate how easy it is to create a microphone application for Windows Phone 7, using Visual Basic for Windows Phone Developer Tools. The microphone application can be created in 4 simple steps as follows: Prerequisites: To create the microphone application, let’s follow the 4...
Visual Basic Windows Phone 7 Series #1. How to create a mini browser application for Windows Phone 7
I have experienced a lot of fun writing Windows Phone 7 applications in Visual Basic. Web browser is one of the applications that is commonly used on phones these days. In this blog post, I want to share some sample source code that will help you to create a mini browser application for Windows Phone 7. I will now demonstrate how easy it is to develop a mini browser application for Windows Phone 7, using Visual Basic for Windows Phone Developer Tools. The mini browser application can be created in 3 simple steps: Before you create a mini browser application, you need to install the following applications: ...
Visual Studio is Hiring
Do you want to work on a product used by millions of developers around the world? I do! Come join me to deliver Visual Studio, the set of developer tools used across Microsoft and around the world. We have open positions available across Test, Dev and PM at varying levels on many projects across Visual Studio Professional. We’re looking for the most talented folks around to help us deliver the core parts of Visual Studio, from the Shell & IDE, languages (VB/C#/F#), packaging & setup, to our future investments in C# & VB. Here are a list of our open positions.&...
VB Core – New compilation mode in Visual Studio 2010 SP1
While most servicing releases do not include new functionality, Visual Studio 2010 SP1 introduced an important new compiler feature that enables Visual Basic to target new platforms that were not previously supported. This was mentioned in some of the initial SP1 blog posts such as Jasonz blog. This is a strategic investment by Microsoft in the future of VB. This provides VB with an increased agility in the future for new platforms to support Visual Basic. This blog provides more information about the feature; let me know if you have more questions. &nbs...
Using Entity Framework in Silverlight with Visual Basic
If you’re looking for ways to get started with Entity Framework 4.0 in Visual Basic then be sure to check out this month’s issue of CODE Magazine. In it the Entity Framework team has put together a walkthrough that shows how to use EF4 in Silverlight, and best of all the entire article’s in VB! Using Entity Framework in Silverlight with Visual Basic The walkthrough covers the end-to-end experience: writing the WCF service, using EF’s Self-Tracking Entities to send data over the wire, and writing the Silverlight UI in XAML. Finally, it also shows how new VB10 f...
VB Goes Mobile: Announcing “Visual Basic for Windows Phone Developer Tools – RTW”
With the release of Windows Phone Developer Tools in September, and the availability of Windows Phone 7 devices in stores, the Windows Phone platform is growing. Today marks another milestone in the progression of Windows Phone. Today we are announcing Visual Basic for Windows Phone Developer Tools - RTW. This release doubles the developer audience for Windows Phone, by enabling Visual Basic developers to create applications for Windows Phone, as well as C#. Please stay tuned for the following announcements and walkthroughs going live today: We released a preview of this VB support in Sep...
Microsoft Help Viewer 1.1 – Updates Planned for Visual Studio 2010 SP1 (Kathleen McGrath)
Paul O’Rear, a Program Manager on the Library Experience team, describes the changes to the Microsoft Help Viewer planned for Visual Studio 2010 SP1. He demonstrates the new functionality of the viewer in an early build of Help Viewer 1.1. See Microsoft Help Viewer – Updates Planned for Visual Studio 2010 SP1 You can learn more in The Story of Help in Visual Studio 2010 --Kathleen
Announcing the Async CTP for Visual Basic (and also Iterators!)
We're very happy to announce today the Async CTP for Visual Basic and C#. Asynchronous programming is something that helps make your UI more responsive, especially in applications that interact with databases or network or disk. It's also used to make ASP servers scale better. And it's the natural way to program in Silverlight. Until now, asynchronous programming has also been prohibitively hard, "not worth the investment"-hard. But with the Async CTP we've made asynchronous programming easy enough that developers should routinely consider asynchrony for most of their applications. Async is a true "parity" f...
Announcing Microsoft Visual Basic CTP for Windows Phone Developer Tools
Today we announced availability of the Microsoft Visual Basic CTP for Windows Phone Developer Tools. You can download the release here: This CTP is to be used with the Windows Phone Developer Tools, in order to do Windows Phone 7 development with Visual Basic. We have heard a lot of customer requests for this capability and are all very excited about today’s announcement. Here are some Microsoft blog posts regarding this announcement: Please find below a walkthrough with screenshots of the experience creating a Windows Phone 7 application with Visual Basic, using the new CTP. WALKTHR...
Channel 9 Interview: Multi-Targeting Deep Dive (Beth Massi, Spotty Bowles)
I’m back with Spotty Bowles, a tester on the VB compiler team, shows us the ins and outs of how multi-targeting works in Visual Basic projects in Visual Studio 2010 in this Channel 9 interview: Channel 9 Interview: Multi-Targeting Deep Dive with Visual Basic 2010What's tricky in Visual Studio 2010 is that there are now two supported versions of the CLR. Spotty shows us how to work with client and full framework profiles in Visual Studio, as well as what happens at runtime when referenced class libraries target a different profile. He also shows us how to use some of the new VB10 language features when down ...
Productivity Improvements for the Entity Framework
BackgroundWe’ve been hearing a lot of good feedback on the recently released update to the Entity Framework in .NET 4. This release marks a significant advancement from the first release that shipped with .NET 3.5 SP1. I’m not going to spend time here talking about what’s new, but you can check here to see for yourself. With all that said, there are still a number of things we can do to simplify the process of writing data access code with the Entity Framework. We’ve been paying attention to the most common patterns that we see developers using with the EF and have bee...
Troubleshooting Errors When Embedding Type Information (Doug Rothaus)
Visual Studio 2010 has a new feature, Embed Interop Types, that can simplify application deployment and solve those pesky issues that can arise when using COM Interop and Primary Interop Assemblies (PIAs). If you’ve ever had to ship multiple versions of an application that automates Microsoft Office where the only difference between your published versions is the version of the PIA (to match different Office versions), then this feature is for you.You enable type embedding when you reference an assembly. In Visual Studio, you set the Embed Interop Types property to true (the default). The command-line compi...