Ever onward!
...
We started work on gmStudio in 2004 with VS2003 and .NET 1.1. Now we support rewriting VB6/ASP/COM code for VS2005, VS2008, and VS2010 although it has been a while since anyone showed interest in anything other than VS2008 and VS2010 is the default. With the release of a major service pack for VS2012, and VS2013 already in beta, its well past time to add support for VS2012. I want to use this blog post to walk through the addition of VS2012 support to gmStudio. I will describe some of the conventions and configuration features that allow gmStudio to target and integrate with different VS versions. The tasks in this small maintenance effort are as follows:
- Prepare : get setup for to do the work.
- Analyze the significant differences between VS2012 and other VS versions
- Implement the changes
Preparation
Preparation is downloading and installing VS2012 and checking it out. I downloaded the 1.5GB ISO for VS2012 Premium ran the install. All of that took a couple hours, but other than a couple restarts, it was smooth sailing. Looking at the VS2012 UI and... hmm ... I think its called Metro right? Functionally Functionally everything seems to be there, and more, but it reminds me of the character-based IDE turbo-Pascal that I first did PC programming on back in 1984... very plain but now in high resolution. (Hey at least I didn't compare it to DOS Basic). No problem, it works; and I bet it will grow on me.
...
Panel | ||
---|---|---|
| ||
We rarely use interop for migrations, opting instead to configure the tool to replace COM dependencies with .NET classes. However, if you decide to use interop in your upgraded project, gmStudio can help you produce interop assemblies. The feature works as follows: First gmStudio generates a csproj file that references the COM binaries referenced in your VB6/ASP code. Then gmStudio runs a batch build of this csproj. The .NET SDK tools do the actual interop assembly generation. The csproj file is tool version and .NET framework version dependent and these should be consistent with the interop assemblies. VS2005: tool\framework Version = "2.0, v2.0" VS2008: tool\framework Version = "2.0, v3.5" VS2010: tool\framework Version = "4.0, v4.0" VS2012: tool\framework Version = "4.0, v4.5" At present these defaults are hard coded in gmStudio. This logic was modified to support VS2012. |
...
Tip | ||
---|---|---|
| ||
Build and run control files, like csproj/vbproj, AssemblyInfo, and web.config, can direct some very powerful .NET features. When gmStudio upgrades your source code, it generates build and run control files for you. These generated files are simple, generic versions of these files. Their content is based on the templates and rules in AuthorText.gmsl. If you want to take advantage of the advanced features you can simply use author/fix commands to modify the generated files. If you need to do something more sophisticated or something specific to your organizations standard build procedures , you can activate a project-specific AuthorText.gmsl file and change it for your purposes. |
...