Visual Studio Version History With Toolset Paths

Product name Codename Version Number Supported .NET Frameworks Supported .NET / CORE Versions Release date
Visual Studio 97 Boston 5 N/A N/A Feb-97
Visual Studio 6.0 Aspen 6 N/A N/A Jun-98
Visual Studio 2002 Rainier 7 1 N/A 13-Feb-02
Visual Studio 2003 Everett 7.1 1.1 N/A 24-Apr-03
Visual Studio 2005 Whidbey 8 2.0, 3.0 N/A 7-Nov-05
Visual Studio 2008 Orcas 9 2.0, 3.0, 3.5 N/A 19-Nov-07
Visual Studio 2010 Dev10, Rosario 10 2.0 – 4.0 N/A 12-Apr-10
Visual Studio 2012 Dev11 11 2.0 – 4.5.2 N/A 12-Sep-12
Visual Studio 2013 Dev12 12 2.0 – 4.5.2 N/A 17-Oct-13
Visual Studio 2015 Dev14 14 2.0 – 4.6 1 20-Jul-15
Visual Studio 2017 Dev15 15 3.5 – 4.7 1.0-1.1, 2.0 7-Mar-17
Visual Studio 2019 Unknown 16 TBA TBA TBA

Product name .NET Toolset Path
Visual Studio 2005   Windows installation pathMicrosoft.NetFrameworkv2.0.50727
Visual Studio 2008 .NET 3.5 Windows installation pathMicrosoft.NETFrameworkv3.5
Visual Studio 2010 .NET 4.0 Windows installation pathMicrosoft.NETFrameworkv4.0.30319
Visual Studio 2012 .NET 4.5 Windows installation pathMicrosoft.NETFrameworkv4.0.30319
Visual Studio 2013 .NET 4.5.1 %ProgramFiles%MSBuild12.0bin
Visual Studio 2015 14 %ProgramFiles%MSBuild14.0bin
Visual Studio 2017 15 %ProgramFiles%MSBuild15.0bin
Visual Studio 2019 TBA TBA

.NET: ASP.NET CORE 2.0

After a long patient wait, it has finally happened – I’m using ASP.NET CORE 2.0 on all my new projects at work and converting some of my old.   I’m very excited!

Why is this an important advancement for us Microsoft developers?   Simply put,  I can now write applications that will run cross-platform.   And I can do it easily.  I’m not so limited to operating systems or mobile vs. Desktop.  I can keep writing in my favorite flavor – C# — but I also get to stretch out my JavaScript muscles.   I can run Visual Studio on my Windows PC, my Mac, or my Linux box In fact, though Visual Studio makes life easier and faster, I don’t really even need it.   

I can download the .NET CORE SDK on either OS and I am ready to go.  I can use the same templates used in Visual Studio but just initialize them via the command prompt.  Code can be built and ran from this same prompt.  I can edit the code via any text editor.   To make it sweeter; however, downloading the free editor – Visual Studio Code – I can also walk through code and debug!    

I know, it’s been around a while, but in the corporate world, I’ve gotten started earlier than allot of folks.  I cannot say what this does to my efforts at continuous delivery – I actually started to think that I might permanently end up in the Java world without choice. 

You can read about ASP.NET CORE here!

NET : Create Dynamic SqlCommand Parameters

string IDs = “2055,1644,5889”;
List<string>
IDNumbers = IDs.Split(‘,’).ToList<string>();
StringBuilder sb = new
StringBuilder();
cmd = conn.CreateCommand();
cmd.CommandType = CommandType.Text;
sb.Append(“SELECT
* FROM TABLE WHERE (“
);
//build parameters
foreach (string idNumber in IDNumbers)
{
sb.Append(“TABLE.ID
= “
+ “:parm” +
idNumber.ToString());
sb.Append(” OR
);
}
sb.Remove(sb.Length – 3, 3);
sb.Append(“)
);
foreach (string idNumber in IDNumbers)
{
cmd.Parameters.Add(new
OracleParameter(“parm” +
idNumber.ToString(), idNumber));
}
cmd.ExecuteNonQuery();

NET : Formatting A Date For Oracle

Currently, developers must provide
date format whenever inserting date records into oracle.  Here is one approach:

public static DateTime FormatDateForOracle(string inDate)
  {
  //try to parse date into the acceptable Oracle format
  DateTime parsedDate;
  if (DateTime.TryParse(inDate,
out parsedDate))
  {
    try
        {
          return parsedDate =       DateTime.ParseExact(Convert.ToDateTime(inDate).ToString(“MM/dd/yyyy”), “MM/dd/yyyy”,
System.Globalization.CultureInfo.InvariantCulture);
        }
    catch (Exception
e)
        {
          //Handle as you see fit
        }
  }
  else
    {
       //Handle as you see fit
    }
    return
parsedDate;
}