.NET Framework 4.6

Visual Studio 2017 Install error– 0x80131500 – Failed to Deserialize packages

April 5, 2017 .NET, .NET 4.7, .NET Core 1.0, .NET Framework, .NET Framework 4.5.2, .NET Framework 4.6, .NET Framework 4.7, ASP.NET, ASP.NET Core 1.0, ASP.NET MVC, C#.NET, Microsoft, Troubleshooting, Visual Studio 2017, VisualStudio, VS2017, WCF, Windows, Windows 10 No comments

I was frustrated by this error when I am trying to reinstall Visual Studio 2017 after my visual studio got corrupted/failed during upgrade to 15.1 ( or after a previous installation failed due to low disk space).

There is a file called ‘state.json’ , in below mentioned path, which is creating this particular issue. 

%ProgramData%\Microsoft\VisualStudio\Packages\Instances\<instance> 

image

image

Solution:

  • Delete/rename the folder as is or rename ‘state.json’ file to ‘something.json’ .

Found from : https://developercommunity.visualstudio.com/content/problem/2877/install-error-0x80131500-failed-to-deserialize-pac.html

Visual Studio 2017 Released

March 7, 2017 .NET, .NET Core 1.0, .NET Core 1.0.1, .NET Framework, .NET Framework 4.6, ASP.NET, ASP.NET 4.5, ASP.NET AJAX, ASP.NET Core 1.0, ASP.NET Core 1.0.1, Azure Tools, C#.NET, KnowledgeBase, Microsoft, SignalR, Visual Studio 2017, VisualStudio, VS2017, Web API, Web API v2.0, Windows, Windows 10 No comments

Microsoft has released today the latest version of Visual Studio.

The new Visual Studio 2017 will help you develop apps for  Android, iOS, Windows, Web, and Cloud.  It will also help you use version management, be agile, and collaborate effectively.

Includes support for Xcode 8.3, iOS 10.3, watchOS 3.2, and tvOS 10.2 tools and APIs in the Xamarin.VS Extension for Visual Studio 2017..

To know more about all the features included, please go through What’s New in Visual Studio 2017 

RTM VERSION 15.0
RTM BUILD 26228.04
RELEASE DATE 03/07/2017
RELEASE NOTES Release Notes

Download:

Visual Studio 2015 Update 3 – Download

June 27, 2016 .NET, .NET Core 1.0, .NET Framework, .NET Framework 4.5, .NET Framework 4.5.2, .NET Framework 4.6, ASP.NET, ASP.NET 5.0, ASP.NET Core 1.0, ASP.NET MVC, C#.NET, Community, JavaScript, Microsoft, MSDN, Trial Downloads, Updates, Visual Studio 2015, Visual Studio Code, Visual Studio SDK, VisualStudio, VS2015, WCF, Web API v2.0, Windows, Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Azure, Windows Azure Development, Windows Phone Development, Windows Phone SDK, Windows Store Development, WPF, WWF, XAML No comments

Today Microsoft has released Update 3 for Visual Studio 2015. Visual Studio 2015 Update 3 includes a variety of capability improvements and bug fixes. To find out what’s new, see the Visual Studio 2015 Update 3 Release Notes. For a list of fixed bugs and known issues, see the Visual Studio 2015 Update 3 MSDN Article.

Download:
Visual Studio Community 2015 with Update 3 – Web Installer –  ISO
Visual Studio Enterprise 2015 with Update 3 – Web Install –  ISO
Visual Studio Professional 2015 with Update 3 – Web Installer –  ISO
Visual Studio 2015 Update 3 – Web InstallerISO
Visual Studio Team Foundation Server 2015 with Update 3 – Web Installer –  ISO
Visual Studio Test Professional 2015 – Web InstallerISO
Visual Studio Express 2015 for Windows 10 – here
Visual Studio Express 2015 for Web – here
Visual Studio Express 2015 for Desktop – here

Back to Basics : Singleton Design Pattern using System.Lazy type

June 25, 2015 .NET, .NET Framework, .NET Framework 4.5, .NET Framework 4.5.2, .NET Framework 4.6, Back-2-Bascis, BCL(Base Class Library), C#.NET, Codes, Design Patterns, KnowledgeBase, Microsoft, Portable Class Library, Visual Studio 2013, Visual Studio 2015, VisualStudio, VS2010, VS2012, VS2013, VS2015, Windows No comments

This article takes you to a simpler/alternative approach in making a Singleton Design Pattern implementation using System.Lazy class rather that using our traditional approach.

Singleton Design Pattern implementation without lazy initialization:

  • This code is thread safe enabled

<br />
 /// &lt;summary&gt;<br />
    /// Singleton class<br />
    /// &lt;/summary&gt;<br />
    public class AppConfig<br />
    {</p>
<p>        private AppConfig()<br />
        {</p>
<p>        }</p>
<p>        /// &lt;summary&gt;<br />
        /// Gets the current date time.<br />
        /// &lt;/summary&gt;<br />
        /// &lt;value&gt;<br />
        /// The current date time.<br />
        /// &lt;/value&gt;<br />
        public DateTime CurrentDateTime<br />
        {<br />
            get<br />
            {<br />
                return DateTime.Now;<br />
            }<br />
        }<br />
        /// &lt;summary&gt;<br />
        /// The _config<br />
        /// &lt;/summary&gt;<br />
        private static AppConfig _config;</p>
<p>        /// &lt;summary&gt;<br />
        /// The pad lock for maintaining a thread lock.<br />
        /// &lt;/summary&gt;<br />
        private static readonly Object padLock = new object();</p>
<p>        /// &lt;summary&gt;<br />
        /// Gets the instance.<br />
        /// &lt;/summary&gt;<br />
        /// &lt;value&gt;<br />
        /// The instance.<br />
        /// &lt;/value&gt;<br />
        public static AppConfig Instance<br />
        {<br />
            get<br />
            {</p>
<p>                if (_config == null)<br />
                {<br />
                    lock (padLock) // making thread-safe<br />
                    {<br />
                        //{<br />
                        if (_config == null) //second level check to make sure, within the short span, another concurent thread didnt initialize the object.<br />
                        {<br />
                            _config = new AppConfig();<br />
                        }<br />
                    }<br />
                }<br />
                //}</p>
<p>                return _config;<br />
            }<br />
        }<br />
    }<br />

This approach ensures that only one instance is created and only when the instance is needed. Also, the variable is declared to be volatile to ensure that assignment to the instance variable completes before the instance variable can be accessed. Lastly, this approach uses a padLock instance to lock on, rather than locking on the type itself, to avoid deadlocks.

Another variant using Lazy initialization using static constructor and thread safe since initialization is handled during runtime within readonly variable declaration.  This will be thread-safe any ways.

<br />
 /// &lt;summary&gt;<br />
    /// a Simpler version of Singleton class with lazy initialization.<br />
    /// &lt;/summary&gt;<br />
    public class AppConfigLazy1<br />
    {<br />
        // static holder for instance, will not get initialized until first use, due to static contructor.<br />
        private static readonly AppConfigLazy1 _instance = new AppConfigLazy1();</p>
<p>        /// &lt;summary&gt;<br />
        /// Prevents a default instance of the &lt;see cref=&amp;quot;AppConfigLazy1&amp;quot;/&gt; class from being created.<br />
        /// &lt;/summary&gt;<br />
        private AppConfigLazy1()<br />
        {</p>
<p>        }</p>
<p>        /// &lt;summary&gt;<br />
        /// for Lazy Initializes the &lt;see cref=&amp;quot;AppConfigLazy1&amp;quot;/&gt; class.<br />
        /// &lt;/summary&gt;<br />
        static AppConfigLazy1()<br />
        {</p>
<p>        }</p>
<p>        public static AppConfigLazy1 Instance<br />
        {<br />
            get<br />
            {<br />
                return _instance;<br />
            }<br />
        }<br />
    }<br />

Now with .NET 4.0 onwards there is a better way of doing this using .NET Runtime methods using System.Lazy type. System.Lazy type is mainly used in Entity Framework context, but we can use the same in implementing lazy loading where ever we have to deal with memory intensive object or collection of objects.

System.Lazy type  guarantees thread-safe lazy-construction. (By default, all public and protected members of the Lazy class are thread safe and may be used concurrently from multiple threads.)

.NET Framework Support in: 4.6, 4.5, 4

<br />
/// &lt;summary&gt;<br />
    /// a Simpler version of Singleton class with lazy initialization.<br />
    /// &lt;/summary&gt;<br />
    public class AppConfigLazy2<br />
    {<br />
        // static holder for instance, need to use lambda to construct since constructor private<br />
        private static readonly Lazy&lt;AppConfigLazy2&gt; _instance = new Lazy&lt;AppConfigLazy2&gt;(() =&gt; new AppConfigLazy2());</p>
<p>        /// &lt;summary&gt;<br />
        /// Prevents a default instance of the &lt;see cref=&amp;quot;AppConfigLazy2&amp;quot;/&gt; class from being created.<br />
        /// &lt;/summary&gt;<br />
        private AppConfigLazy2()<br />
        {</p>
<p>        }</p>
<p>        public static AppConfigLazy2 Instance<br />
        {<br />
            get<br />
            {<br />
                return _instance.Value;<br />
            }<br />
        }</p>
<p>        /// &lt;summary&gt;<br />
        /// Gets the current date time.<br />
        /// &lt;/summary&gt;<br />
        /// &lt;value&gt;<br />
        /// The current date time.<br />
        /// &lt;/value&gt;<br />
        public DateTime CurrentDateTime<br />
        {<br />
            get<br />
            {<br />
                return DateTime.Now;<br />
            }<br />
        }<br />
    }</p>
<p>

That’s more than one way doing Singleton Pattern Implementation right?, hope that was helpful to you  Some reference links are given below:

Introducing Visual Studio Code

May 1, 2015 .NET, .NET Framework 4.6, ASP.NET, CSS, HTML, JavaScript, Linux, Linux.World, Mac OSX, Open.Source, Operating Systems, Visual Studio Code, VisualStudio, Windows, Windows No comments

As part of Microsoft’s focused approach to bring in more value to Cross platform & Open Source based initiatives Microsoft has released Visual Studio Code IDE along with .NET Core runtime for Mac, Linux and Windows.

Visual Studio Code, a new, free, cross-platform code editor for building modern web and cloud applications on Mac OS X, Linux and Windows. Visual Studio Code is built primarily with standard web technology (HTML, CSS, JavaScript). Visual Studio Code offers developers built-in support for multiple languages (such as CoffeeScript, Python, Ruby, Jade, Clojure, Java,  Javascript,  JSON, C++, R, Go, makefiles, shell scripts, PowerShell, bat, xml), the editor will feature rich code assistance and navigation for all of these languages. JavaScript, TypeScript, Node.js and ASP.NET 5 developers will also get a set of additional tools.

vscode1

vscode2

Quoting from Visual Studio code site:

Visual Studio Code provides developers with a new choice of developer tool that combines the simplicity and streamlined experience of a code editor with the best of what developers need for their core code-edit-debug cycle. Visual Studio Code is the first code editor, and first cross-platform development tool – supporting OSX, Linux, and Windows – in the Visual Studio family.

Download:

Read more about it from below references:

Visual Studio Code Team blog – http://blogs.msdn.com/b/vscode/

Visual Studio 2015 RC–Download

April 30, 2015 .NET, .NET Framework, .NET Framework 4.6, ASP.NET, ASP.NET 5.0, ASP.NET AJAX, ASP.NET MVC, BCL(Base Class Library), Microsoft, Microsoft SDKs, MSDN, Portable Class Library, SignalR, Trial Downloads, Updates, Visual Studio 2015, VisualStudio, VS2015, Web API, Web API v2.0, Windows, Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Phone 8.0 SDK, Windows Phone SDK 2 comments

During #Build2015 event Microsoft has unveiled Visual Studio 2015 RC (Release Candidate) with lots of improvements and fixes to CTP version of Visual Studio. RC would be a near release quality and your see it is stable than ever.

Release Date: 29/APR/2015
Release Notes: View Release notes

Download

Other Associated Products