Saturday, June 30, 2012

[.NET 4.5] Windows Identity Foundation 4.5 in NET 4.5

Windows Identity Foundation 4.5 (WIF) is a framework for building identity-aware and more specifically claims-aware applications. It furthermore provides an abstraction  to the underlying protocols (ex: WS-Trust, WS-Federation, etc …) and therefore encapsulates and standardizes application security.

Developers do not need to know how to exactly implement and use those protocols anymore. Instead they may use API calls to the WIF Toolkit for implementing secure applications, thus resulting in applications which are loosely coupled to their security implementations. Tokens issued from a large scale of different security providers (including  ADFS 2.0, ACS and custom Security Token Services) can be handled.

The default configuration and behavior works great and with ease you will be able to implement it in no time. But the best of all : the WIF Toolkit is highly customizable. You may completely override and customize the default behavior on some or on all the step of the process (Protocol Module, Session Module, Claims Authorization Module, Token, STS, etc..).

WIF in its first version (1.0) is available as a runtime and as an external SDK for .NET 3.5 and .NET 4.0. You have to install it separately for being able to using it in your applications. The WIF Training Kit contains everything necessary to start with claims based security (explication, tutorials, examples, etc…).

WIF 4.5 and .NET 4.5

So what’s new in WIF 4.5 ? Well first of all WIF is now part of the .NET framework. You do not need to install it manually anymore. It is shipped and installed with .NET 4.5, which means that it is now an integral part of the framework ! Most of the classes and methods are now part of Mscorlib.dll !

Also it is now much easier and straightforward use WIF and to query for claims. Let me show this in the following example.

Create a new web application, right click on your project in the Solution Explorer and select "Identity and Access…” from the list.

ProjectMenu

You will see a new configuration wizard, which will guide you through the process of setting up a STS reference. You may either use a development STS, a business provider based on ADFS2 or Windows Azure Access Control Service (ACS).

For the example I use the development STS :

AuthenticationOptions

You may now run your web application and the development STS gets started automatically. When you see the little icon in the tray area you know that everything working correctly.

LocalSTS

Now lets see how to query for a claim by using the ClaimsPrincipal in the System.Security.Claims namespace and calling its FindFirst(…) method.

ClaimEmail

Where you had to write at least 3 lines of code and do casting operations in WIF 1.0, you now have everything in a single line ! Much easier to implement, to understand, to maintain and also to extend !

Note that there are a variety of other utility methods to aid you in working with claims (FindAll, FindFirst, HasClaim, etc…) and that you have access to almost everything just by using the  ClaimsPrincipal.

Another improvement is the seamless integration of WCF 4.5 and WIF 4.5. You now can use both together much more easily. Custom service host factories or federation behaviors are not needed anymore. This can be achieved via the useIdentityConfiguration switch.

WIF 4.5 and WebFarms

Great news for all developers using WIF in a WebFarms environment (including  Windows Azure). With .NET 4.5 it is finally possible to use WIF without implementing complicated and time consuming workarounds to encrypt your WIF cookies with a single encryption key.

You just configure a new MachineSessionSecurityHandler by setting it in your Web.config file and it will work without any further changes ! This has even been added to the wizard as a checkbox ! How easy is that compared to the old way of resolving this problem !

image

WIF 4.5 and Windows Server 2012

Windows Server 2012 Domain Controllers are going to support the claims based model and provide extra claims via Kerberos (User Claims and Device Claims), which you may then query for within your WIF 4.5 implementations. This is actually a quite interesting feature. I might do another blog post and give  you more details on that in the next weeks.

WIF 4.5 and Visual Studio 2012

The integration of WIF tools has been completely re-designed, as you saw in my quick example above. This has been done to simplify the whole process and to render it much more comprehensive. So it is now easier to understand with less steps and quicker configuration.

As you saw above the new tools contain a local development STS which simulates a real STS (comparable to the development fabric within the Windows Azure SDK). The development STS is by the way completely configurable (Token format, port, test claims, etc..).

Furthermore, the WIF 4.5 tools and all samples are now distributed as VSIX via the Visual Studio Extensions Gallery.

Conclusion

As you can see WIF 4.5 has been greatly enhanced and industrialized. It will become the the primary choice when working with application security. Come on and give it at try,  test all these new features by downloading the Windows Identity Foundation Tools for Visual Studio 2012 RC.


Share/Save/Bookmark

Monday, June 18, 2012

[.NET 4.5] Portable Class Library (PCL)
How to write code that runs on all .NET platforms

The Portable Class Library project in .NET 4.5 allows you to share source code easily between different technologies, which are based on the .NET framework (Windows, Windows Phone, Silverlight, XBOX 360, Metro).

Very helpful if you need to share common algorithms (for validation purposes for example), common interfaces and common data objects between applications based on those different technologies. Using the PCL in this case provides consistency and encapsulation of your code independently from the place where it will be used. Thus resulting in less maintenance costs and higher productivity for your teams.

You have to note however that the PCL only allows using a common sub-set of all features provided by those different technologies. This makes perfectly sense since not all features are supported by each technology.

Now lets see how to use the Portable Class Library from within Visual Studio 2012. First of all you have to create a new project of type Portable Class Library.

PCL_Project

You may then select the target frameworks, where the code needs to run on and the solution gets created by Visual Studio 2012 in the next step.

If you build your solution the resulting DLL is useable by the target frameworks without any additional configuration or modifications, you just add a reference to it and you can use the common code.

Platforms2

You may modify the frameworks you want to target in your existing PCL projects after project generation anytime. For that you have to open the project setting and you may add or remove target frameworks from within the Library section.

ChangePlatforms

Other targeting packs are available for Visual Studio 2012. They may include Visual Studio updates and must be installed with the corresponding runtime versions most of the time.

Those are the additional targeting packs currently available:

  • .NET Framework 4.0.3
  • .NET Framework 4.0.2
  • .NET Framework 4.0.1
  • .NET Framework 4
  • .NET Framework 2.0/3.0/3.5 SP1
  • Windows Azure (via SDK)
  • XNA Game Studio 4.0

You can download them from here:
http://msdn.microsoft.com/en-us/hh487283.aspx

Examples using VS 2012 and VS 2010:

In the following very basic example I am going to show you a real example of how to use the PCL. Lets say that you have some business rules that need to be validated in your applications. Those business rules won’t change if you use a Windows Application, a Windows Phone application or a Metro Application. So it makes perfectly sense to have them developed in a common place.

The class diagram shows the structure of a Validator class, that validates Rules which are based on expressions. This is a quite straight-forward approach on how to implement business rules validation.

As explained before we create a PCL project and implement all those classes, interfaces and validation code in this project.

We then create a common DLL that is used in the different application project, which are based on completely different technologies.

ClassDiagram

Lets start with a Silverlight application created within Visual Studio 2012. Create a new project of type Silverlight Application.

SilverlightProject1

Select Silverlight 5 for this example but note that you could also create a Silverlight 4 project and use the PCL if you wanted to.

SilverlightProject2.

Here is a very basic example of the usage of the common classes, that are defined in the common code assembly, in the newly created Silverlight project. The project builds successfully and you can reuse all interfaces, classes and algorithms, that you have defined in the common code assembly.

CommonCodeInSilverlight

The following example shows how to use the common code library in a Windows Phone 7 application, being developed using Visual Studio 2010. After installing the Windows Phone 7 SDK, add a new project of type Windows Phone Application and add a reference to the common code library.

PhoneProject1

Select Windows Phone OS 7.1 for this example but note that you could also create a Windows Phone 7.0 project and use the PCL if you wanted to.

PhoneProject2

Here is a very basic example of the usage of the common classes, that are defined in the common code assembly, in the newly created Windows Phone project. The project builds successfully and you can reuse all interfaces, classes and algorithms, that you have defined in the common code assembly.

CommonCodeInPhone71


Share/Save/Bookmark

Thursday, May 31, 2012

[.NET 4.5] Release Candidates of .NET 4.5, VS 2012 and TFS 2012 as well as Windows 8 Release Preview were released today

The Release Candidate of .NET 4.5 was released today together with Visual Studio 2012 Release Candidate (working name VS11), Team Foundation Server 2012 Release Candidate and a brand new Windows 8 Release Preview.

You can download .NET 4.5, Visual Studio 2012 as well as TFS 2012 here.

image

You can download the Windows 8 Release Preview here

image

Note that you may also download all those versions from MSDN if you have a subscription.

For more information on what’s new in the RC of Visual Studio when comparing to the beta you can read Jason Zander’s blog post.

If you want to evaluate all the new features and test the new versions you should quickly download and install them in a testing environment. Remember however that you should not use them in any production environment since the final versions still could change and since you won’t get any support for Release Candidates.


Share/Save/Bookmark

Monday, May 28, 2012

[.NET 4.5] Some of the features that will be provided by the next version of the .NET framework (2/2)

This is the second part of the series of posts that contain information on some of the new features that will be provided by .NET 4.5.

Windows Communication Foundation (WCF) & ASP.NET Web API

Windows Communication Foundation in .NET 4.5 now supports UDP and also WebSockets. WebSockets will be exposed via the NetHttpBinding or NetHttpsBinding bindings.

Generation of service and data contracts from a WSDL before doing the implementation (“Contract First” development) is now possible. This will greatly enhance WCF productivity.

If you use WCF you certainly know that configuration file management can quickly become a mess (“Configuration Hell”). Too much has to be defined manually, default values are either not existent or not appropriate. This problem has been addressed in .NET 4.5 since WCF configuration has been reworked and greatly simplified. New default values have been added, existing default values have been modified and they seem overall to be much more adapted for production use. This means less manual configuration and reduced need to even touch the WCF configuration !

I already mentioned in my last post that .NET 4.5 is all about asynchrony. So no surprise that WCF has also been enhanced to better support asynchronous scenarios. WCF service methods can now return Tasks and use the new async and await keywords (that now exist in C# and Visual Basic) and true asynchronous streaming is now also supported.

The brand new ASP.NET Web API framework allows you to build HTTP services that are highly interoperable, meaning that they can be consumed by a broad range of clients, including browsers and mobile devices of all sorts.

Some of its features are:

  • Content negotiation: clients and servers can determine together the right format for data to be returned
  • Automatic serialization of data: JSON, XML, and Form URL-encoded data
  • Easily expose REST APIs: map incoming requests to business logic using built-in routing and validation support
  • Query composition: automatically layer on top of IQueryable<T> and enable paging and sorting
  • Support for testing using mocking frameworks
Windows Workflow Foundation (WF)

Windows Workflow Foundation contains many new features I will just point out some of them.

Some of the improvements are:

  • The workflow designer now supports C# expressions
  • The workflow designer is now much more intuitive to use (search, drag-and-drop, multi-select, hierarchical views, etc…)
  • Being able to run different versions of the same workflow side-by-side
  • Better control of how child activities persist in the workflow
  • Improved debugging support and build-time validation
Windows Identity Foundation (WIF)

If you want to use claims-based security and authorization, you have to download Windows Identity Foundation manually and make sure to include it in your deployment packages. WIF is currently released as a standalone library. This will change since it will be integrated into .NET 4.5 and become part of the framework. Its integration will make it much easier and straight forward to use in your projects.

A major enhancement is that session management has been integrated so that custom code is now no longer necessary when trying to use it in a web farms environment. Less custom code means less bugs and less work for the end user.

Visual Studio 11 now fully supports WIF, so that you can test and simulate your implementations at development time.

ASP.NET

When talking about ASP.NET I have to talk about ASP.NET MVC4, since it adds so many new and useful functionalities for todays web development (such as support for phones and tables for example). The beta version is available for some time now but the final version will be integrated and shipped with .NET 4.5.

ASP.NET Web Pages will provide the possibility to build device-specific web pages, that are displayed differently based on the device making the request. This allows for optimizing the experience on each device, whether it be on a PC, phone, tablet or any other device.

Without no surprise ASP.NET Web Forms now includes support for HTML5 and its specific elements. Given the fact that HTML5 is actually everywhere this seems just obvious.

But there are much more enhancements ASP.NET Web Forms. Data controls can now be bound to query parameters, to query strings, to form fields, to cookies, to view state, and to session state using strongly-typed binding expressions. This is a new feature called model binding.

ASP.NET now supports and includes:

  • WebSockets providing bidirectional communication over ports 80 and 443 with performance similar to that of TCP
  • Development of asynchronous code
  • Bundling and minimization of JavaScript code for less data transfer, resulting in faster load times 
  • Performance improvements (30% reduction in base level memory consumption)

The Visual Studio 11 code editor has been enhanced to provide good HTML5, JavaScript and CSS3 integration. This makes web development using ASP.NET in .NET 4.5 as productive, intuitive and efficient as possible.


Share/Save/Bookmark

Friday, May 18, 2012

[.NET 4.5] Some of the features that will be provided by the next version of the .NET framework (1/2)

The next release of the .NET framework integrates many new features to enable high productivity, good performance and support for all kinds of display devices (PC, mobile, browser, tablets, etc…).

The .NET framework has been reworked and ameliorated on almost all levels from the bottom to the top (CLR, BCL, EF, WCF, WF, ASP.NET, etc…)  to build this new version 4.5.

Common Language Runtime (CLR)

The Garbage Collection extensions named background Garbage Collection that were introduced in .NET 4.0 are further optimized and fine-tuned in .NET framework 4.5.

Large object are allocated on the Large Object Heap. The .NET framework 4.5 contains significant performance improvements, including better algorithms for free memory management of the Large Object Heap. This is especially interesting when using 64 bit processes. Additionally arrays in 64 bit processes may now be larger than 2GB.

Another improvement in the runtime is the support of optional background multi-core JIT compilation to improve application performance.

Several new features were added for parallel computing including improved performance, increased control, a new dataflow library, and improved support for parallel debugging and performance analysis.

Base Class Libraries (BCL)

The new version of .NET is all about asynchrony. Many new async methods were added to the BCL (for example in the following libraries mscorlib.dll, System.Xml.dll, System.Data.dll, System.Web.dll, System.Net.Http.dll). The performance of existing types in the framework was highly optimized.

At last .NET 4.5 contains its own ZIP implementation. No need to to this manually or use an external library such as SharpZipLib anymore. The new ZipFile and ZipArchive classes are introduced for manipulating ZIP files efficiently.

Furthermore the Managed Extensibility Framework (MEF) now supports generic types, multiple scopes, and a convention-based programming model.

Entity Framework 5.0 (EF)

The final release of Entity Framework version 5.0 (currently in version beta2) will be included in the .NET framework 4.5.

Some of the new features are:

  • Enum support for Model First, Database First and Code First
  • Table-Valued functions in the database using Database First
  • Spatial data types in Model First, Database First and Code First
  • Multiple performance enhancements (improvements for some queries of up to 600%)
  • Automatically compiled LINQ queries (.NET 4.5 supports the automatic caching of query compilations)
  • Usage of LocalDb instead of SQLEXPRESS for Visual Studio 11

Share/Save/Bookmark

Monday, April 2, 2012

[MVP Nomination] One more year as MVP Visual C# !!!

I got an email yesterday from Microsoft containing the info that I am awarded Microsoft MVP Visual C# again for 2012. I am very happy and honored for being selected again and proud to call myself MVP for one additional year !!!

image

I want to take some time and thank my MVP Lead for having me nominated.

Also a big thank you to Microsoft for putting their trust in me. I will do my best and continue sharing my knowledge with the community. So be prepared for many new blog posts and articles in the technical press on Software Architecture & Design, Visual C# and Windows Azure, which are my main interests. I will also continue concentrating on speaking at conferences so I would be glad to see you at any Microsoft events (TechDays, MS Days, etc…).

Stay tuned and continue following me if you like this Blog !


Share/Save/Bookmark

Thursday, March 15, 2012

[Webcast] Migrate your .NET applications to Windows Azure

I will present a webcast the 30th of march 2012 with Microsoft in French on how to successfully migrate your .NET applications to Windows Azure entitled “Migrez vos applications .NET sur Windows Azure”.

So if you are interested in this topic and you understand the French language don’t hesitate and inscribe yourself to this free webcast:

image


Share/Save/Bookmark

Thursday, March 8, 2012

[TechDays 2012] Videos of my two Azure sessions are now online

The videos of my two Windows Azure sessions, presented with some colleagues and Microsoft during TechDays 2012, are now online. You can watch them below if you understand the French language.



Share/Save/Bookmark

Thursday, January 26, 2012

[Publication] White Paper in collaboration with Microsoft:
Fourth Chapter on How to develop applications for the Cloud

I am happy to announce that you can find the fourth chapter of a whitepaper on how to develop applications for the Cloud using the Windows  Azure platform written by me, François Merand and Laurent Gautier on the official Visual Studio homepage.

http://www.microsoft.com/france/visual-studio/scenarios/developper-pour-le-cloud.aspx

image

This is the last chapter of the series. We will however continue to finalize and optimize the corresponding application when we find some time. So many additional things to do : ASP.NET MVC 4, IoC, additional abstractions, the implementation of the worker role and the image processing, etc…

You can find the source code of the BDTheque application here.


Share/Save/Bookmark

Tuesday, January 24, 2012

[Publication] White Paper in collaboration with Microsoft:
Third Chapter on How to develop applications for the Cloud

I am happy to announce that you can find the third chapter of a whitepaper on how to develop applications for the Cloud using the Windows  Azure platform written by me, François Merand and Laurent Gautier on the official Visual Studio homepage.

http://www.microsoft.com/france/visual-studio/scenarios/developper-pour-le-cloud.aspx

image

We will continue publishing the other chapters in the next weeks so stay tuned as we progress on implementing our example BDTheque application and finalizing our Whitepaper.

You can find the source code of the BDTheque application here.


Share/Save/Bookmark

Tuesday, January 3, 2012

[Publication] Article in French Programmez Magazine on Windows Azure First Steps and how to build your first application

You can find an article of 2 pages concerning Windows Azure in the French Programmez magazine No.148 written by me and François Merand.

image

First Page and Second Page (low resolution)

The article is written in French but as always I will write some English articles on my Blog in the next weeks. So stay tuned if you are interested in getting to know how to start using Windows Azure and building you first application.


Share/Save/Bookmark

Monday, January 2, 2012

[TechDays 2012] Speaker for two Windows Azure sessions and Ask the Expert (ATE) during TechDays 2012 in Paris

The TechDays 2012 will be the 7, 8 and 9 February in Paris. Many new technology trends will be presented. A must for everyone who is working in the software development sector !!! And the best of all : It is for free !

I will be speaker and animate the following 2 sessions :

I will also act as ATE (Ask The Expert) and will be happy to respond to any questions you might have concerning Microsoft products during the breaks in between the different sessions.

You will find me at one of the stands wearing a special shirt and being happy to exchange with you on any technical subject you might have.

image

Don't hesitate, inscribe yourself quickly and visit us at TechDays 2012 !!!


Share/Save/Bookmark

Tuesday, December 20, 2011

[Publication] White Paper in collaboration with Microsoft:
Second Chapter on How to develop applications for the Cloud

I am happy to announce that you can find the second chapter of a whitepaper on how to develop applications for the Cloud using the Windows  Azure platform written by me, François Merand and Laurent Gautier on the official Visual Studio homepage.

http://www.microsoft.com/france/visual-studio/scenarios/developper-pour-le-cloud.aspx

image

We will continue publishing the other chapters in the next weeks so stay tuned as we progress on implementing our example BDTheque application and finalizing our Whitepaper.

You can find the source code of the BDTheque application here.


Share/Save/Bookmark

Friday, December 2, 2011

[Publication] White Paper in collaboration with Microsoft:
First Chapter on How to develop applications for the Cloud

I am happy to announce that you can find the first chapter of a whitepaper on how to develop applications for the Cloud using the Windows  Azure platform written by me, François Merand and Laurent Gautier on the official Visual Studio homepage.

http://www.microsoft.com/france/visual-studio/scenarios/developper-pour-le-cloud.aspx

image

We will continue publishing the other chapters in the next weeks so stay tuned as we progress on implementing our example BDTheque application and finalizing our Whitepaper.

You can find the source code of the BDTheque application here.


Share/Save/Bookmark

[Publication] Interview with Developpez.com and Microsoft concerning SQL Azure and its newest features

Just a quick note that you can find an article in French written by Gordon Fowler concerning my interview with Microsoft and Developpez.com on the maturity of SQL Azure, its advantages and its new features (SQL Azure Reporting, SQL Azure Data Sync, SQL Azure Federation) under the following address.

http://www.developpez.com/actu/39580/-SQL-Azure-devient-l-egal-de-SQL-Server-Microsoft-et-Sogeti-reviennent-sur-les-nouveautes-de-la-base-de-donnees-hebergee/

image


Share/Save/Bookmark

Thursday, December 1, 2011

[Publication] Article in French Programmez Magazine on Design By Contract and Code Contracts using C# 4.0

You can find an article of 4 pages concerning Design By Contract and more specific Code Contracts using C# 4.0 in the French Programmez magazine No.147 written by me and Fathi Bellahcene.

image

First Page and Second Page (low resolution)

Third Page and Fourth Page (low resolution)

The article is written in French but as always I will write some English articles on my Blog in the next weeks. So stay tuned if you are interested in getting to know Code Contracts in C# 4.0 and how it may help you to improve the quality of your code .

You can find the source code here:
http://designbycontract.codeplex.com


Share/Save/Bookmark

Thursday, November 3, 2011

[Certifications] Now TOGAF9 certified !

Just to let you know that I passed the two TOGAF9 exams lately (Foundation & Certified) during the combined OG0-093 exam.

I am happy to announce that I am now TOGAF9 certified !

Cert_ITSpec

For more information concerning the TOGAF9 Framework please consult the official website of The Open Group : http://www.opengroup.org/togaf/.


Share/Save/Bookmark

Wednesday, October 19, 2011

[C# and Language] Compiler as a Service (CaaS)
Roslyn CTP released

Microsoft announces the release of its Roslyn CTP, the first example of the implementation of CaaS (Compiler as a Service) that I presented some time ago. This release marks a significant step to how Microsoft thinks of compilers. The C# and VB compilers are no longer black boxes.  All that rich information about code is now exposed as an object model that can be easily consumed. In addition, Microsoft has released a preview of the first-ever Interactive window for C# that contains full IDE support, including IntelliSense and even automatically detecting missing using directives.

You can download it here:
http://msdn.com/roslyn

image


Share/Save/Bookmark

Monday, October 17, 2011

[Tutorial] Code First with Entity Framework 4.1
Part5: Concurrency Management & Conclusion

Assuring the consistence and coherence of data in the database is a very important topic. Concurrency problems come up when multiple source (clients, systems, etc…) try to modify data at the same time.Your application must be able to choose whether to accept or reject any data changes that arrive simultaneously.

Simultaneous execution of transactions must provide the same results as sequential execution of those same transactions.If you achieve this goal then your system is well prepared for correct concurrency handling.

Entity Framework 4.1 includes a very complete concurrency approach. The DbContext class that we already saw before allows for efficient concurrency handling.

First Wins

This resolution strategy defines that the first modification wins if there are concurrency conflicts. All following modifications on the same data are ignored and clients get exceptions that tell them that their transactions did not complete because the data was already changed.

You have to determine which properties might be subject to concurrency problems. You may have properties which do not need any concurrency handling. A property that contains the last modified date might not need to implement any concurrency handling for example.

All properties that must be checked for concurrency need to have the [ConcurrencyCheck] attribute set as shown below:

image

If you don't like using attributes, you may also use the CodeFirst Fluent API on your properties to activate concurrency checking:


image

You have to add concurrency checks only on properties that really need it since this will have some impact on performance within your code. The more properties with activated concurrency checks you have the worse your performance might be depending on your implementation !

image

In the example above we retrieve a manager object from the database, store it in memory and change some property values (but only in memory). We then change some values on the same data directly in the database to simulate concurrency as if two clients did modifications at the same time.

When we call the SaveChanges() method you will see that we get an exception of type DbUpdateConcurrencyException. This is where you need to add your custom concurrency conflict resolution logic. In this example we decided to guard the first modification (First Wins). In the last step we update the context in memory with the data that was changed in the database via ex.GetEntry(context).Reload().

Last Wins

This is the default resolution strategy of EF 4.1 in case of concurrency conflicts. It defines that the last modification wins if there are concurrency conflicts. All previous modifications on the same data are overwritten. Clients only get informed if they use the [ConcurrencyCheck] attribute, some kind of log, some event or other treatment.

image

The example above shows how to implement a Last Wins approach. If there are exceptions due to concurrency conflicts we store the new initial value in the context thus synchronizing with the source. We then retry saving the data until it is saved to the database and the processing is successfully completed.

Conclusion

I hope this tutorial gave you a first insight on the new features of EF 4.1 which are quite powerful even for code purists. With the new features presented in this tutorial EF becomes one of the most complete products on the ORM market. Today, it is the only product that proposes all 3 approaches
CodeFirst, Database First and Model First at the same time.

Some features are missing like auto-synchronization of the database if the class structure changes and stored procedure integration but they will be added in the next weeks / months.

Share/Save/Bookmark

[.NET 4.5] In-Place Upgrade to .NET 4.0 SP1

After the BUILD conference we now have more information on how Microsoft plans to do the upgrade from .NET 4.0 SP1 to .NET 4.5 and what this upgrade will imply.

Contrary to all other upgrades in the last years this will not be a side-by side upgrade but instead an in-place update. The .NET 4.0 SP1 framework will be replaced on the system during the upgrade process. Furthermore it seems that you won’t be able to go back once you have done the upgrade.

To allow such an update Microsoft will have to assure that old code that ran under .NET 4.0 SP1 will still run correctly under .NET 4.5 which is not an easy task. But the Microsoft staff is currently working hard to assure everything will work seamlessly when the final version of .NET 4.5 is shipping.

I will post a migration tutorial when the final version will be published and try to help you in having a good migration strategy.


Share/Save/Bookmark