# Wednesday, October 05, 2011

Visual Studio 2010: Debugging a x86 WCF service on a x64 machine

I just ran into an issue where I have a WCF service that depends on a .NET assembly that is compiled specifically for x86. In order to use that assembly I need to compile the service as a x86 service. No problem, but now when I want to test or add a service reference to this WCF service I ran into the problem that WcfSvcHost and WcfTestClient both will run a x64 because I’m running Windows 7 x64.

How to solve this? I found the answer in the forums and adapted the answer for my specific problem:

1.Copy WcfSvcHost.exe and WcfTestClient.exe from C:\program files (x86)\Microsoft Visual Studio 10.0\Common7\IDE to a local directory. Keep a backup copy of this file, of course.
2.Start a Visual Studio 2010 Command Prompt (one of the links from the start menu -> Visaul Studio 2010)
3."cd" to the directory where your copy of WcfSvcHost is located.
4.Execute the command "corflags /32BIT+ /FORCE WcfSvcHost.exe"
5.Copy the files back to where you found it.
 
Now your WcfSvcHost and WcfTestClient will be running in 32 bit mode.

#    Comments [3] |
# Saturday, July 02, 2011

Entity Framework – Model First: Generating DDL for Complex Types

In the model below the phone number for an artist is actually a complex type (a little over engineered, I know, but I was just exploring how well this works).

image

The complex type consists of 4 ‘fields’: CountryCode, AreaCode, Number and Extension:

image

Each ‘field’ has properties set:

image

The great part is that this is fully supported by the DDL generator, so right click on the Entity Framework Designer in Visual Studio 2010 and choose ‘Generate Database From Model…’ and the ‘Artist’ table will be generated as:

 
-- --------------------------------------------------
-- Entity Designer DDL Script for SQL Server 2005, 2008, and Azure
-- --------------------------------------------------
 
-- --------------------------------------------------
-- Creating all tables
-- --------------------------------------------------
 
-- Creating table 'Artists'
CREATE TABLE [dbo].[Artists] (
    [Id] int IDENTITY(1,1) NOT NULL,
    [Name] nvarchar(100)  NOT NULL,
    [IsIndividual] bit  NOT NULL,
    [Phone_CountryCode] nvarchar(4)  NOT NULL,
    [Phone_AreaCode] nvarchar(5)  NOT NULL,
    [Phone_Number] nvarchar(10)  NOT NULL,
    [Phone_Extension] nvarchar(10)  NULL
);
GO
-- <snip other tables>
 
-- --------------------------------------------------
-- Creating all PRIMARY KEY constraints
-- --------------------------------------------------
 
-- Creating primary key on [Id] in table 'Artists'
ALTER TABLE [dbo].[Artists]
ADD CONSTRAINT [PK_Artists]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO
 
-- <snip other primary and foreign key>
 
 
-- --------------------------------------------------
-- Script has ended
-- --------------------------------------------------
Notice that by default each column is prefixed with the name of the complex type, this is of course needed to ensure column names stay unique across multiple complex types in a single entity.
#    Comments [0] |
# Thursday, March 10, 2011

Installing Visual Studio SP1

For you benefit and amusement: here is my experience with upgrading to Visual Studio 2010 Service Pack 1.

image

image

image

10 minutes later:

image

Another 25 minutes later:

image

NOTE: If you are working on a Word document while installing the Visual Studio Tools for Office then be warned that the installer will automatically shutdown Word when it reaches this step! I lost a bunch of changes because of this! Sad smile

image

Restart required:

image

Reboot complete… start Visual Studio 2010 and check the Help | Info screen:

image

Life is good!

I’ve checked my DevExpress add-in and also the Code Contracts add-in that I’ve got installed and both seem to be working fine. Nice!

#    Comments [0] |
# Wednesday, March 09, 2011

Visual Studio 2010 SP1 + Team Foundation Server SP1 available

Visual Studio 2010 Service Pack 1 and also Team Foundation Server Service Pack 1 are now available! More information about enhancements offered in this release can be found on Somasegar’s blog and Brian Harry’s blog.

Change lists can be found here:

Go to the MSDN download center for immediate downloading.

#    Comments [0] |
# Tuesday, January 18, 2011

Entity Framework 4 : ContextOption.LazyLoadingEnabled

Entity Framework 4 enables lazy loading of entities by default. I’m not going to argue about whether that is good or bad, but there is something you should be aware of. If you’re like me, then over the years you’ll have learned that most classes that implement IDisposable should be used using a ‘using’ statement. This is especially true if you’re connecting to a database. So using Entity Framework your code may look something like this:

1: using  ( MyEntities  db = new  MyEntities () )
2: {
3:     var  query = from  e in  db.Employees
4:                 where e.EmployeeId == employeeId
5:                 select  e;
6: 
7:     return  query.SingleOrDefault();
8: }
9: 

This code will run fine and return a single employee. If however the Employee entity has a relationship things get a little interesting. Suppose the Employee has a relationship with a Department entity (via a property named ‘Department’). The department does not get loaded because db.LazyLoadingEnabled is true (by default).

Now suppose the above code is part of a WCF operation. The WCF operation want to return the Employee to the caller. Here is what happens: When WCF starts serializing the Employee object it sees the Department property and will try to access the property, since it setup to do lazy loading it will now go back to the database to load the department row. BUT hold on, the ‘using’-statement has already disposed of the object context and closed the database connection. What is the error that you’ll see? Well it starts with a CommunicationException: “The underlying connection was closed: The connection closed unexpectedly”.

image

This may throw you off and make you look for a WCF issue, but you’ll be looking in the wrong area. The actual cause of the error is on the server and the fact that the ObjectContext has been disposed yet is being used.

One solution would be to increase the lifespan of the object context and not dispose of it. This, to me, feels wrong. So instead I’ll just disable lazy loading.This can be done in the code:

1: using  ( MyEntities  db = new  MyEntities () )
2: {
3:     db.ContextOptions.LazyLoadingEnabled = false ;
4: 
5:     var  query = from  e in  db.Employees
6:                 where  e.EmployeeId == employeeId
7:                 select  e;
8: 
9:     return  query.SingleOrDefault();
10: }

Or you can go to the designer and change the default:

image

Note: I’m note sure why lazy loading enabled is set to ‘True’ by default (but it is on my machine). According to the documentation (http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontextoptions.lazyloadingenabled(VS.100).aspx) it should default to false.

#    Comments [5] |
# Wednesday, December 29, 2010

IE9 and VS2010 debugging issue (DNS error)

Etienne Trembley found the solution to a problem that’s been haunting me since I installed IE9 beta. As it turns out IE9 prefers IPv6 over IPv4 AND on a Windows 7 64bit machine the hosts file (in c:\windows\system32\drivers\etc) does not provide an IPV4 entry to make localhost look at 127.0.0.1. Adding the localhost entry in the host file solves the issues!

Read the full post here: http://geekswithblogs.net/etiennetremblay/archive/2010/10/07/ie-9-cassini-and-the-dreaded-dns-error-or-page.aspx

#    Comments [0] |
# Wednesday, October 20, 2010

Reporting using Entity Framework

For many years the mantra for implementing business logic in your line of business application has been: “don’t put it in the database, don’t put it in the user interface”. In other words, apply the layers design pattern if at all possible, together with implementing the Model-View-ViewModel (MVVM) or Model-View-Controller (MVC) pattern. Technologies like Entity Framework help us convert data in the database to .NET objects and add logic. Life is good.

Then it is time to create a report. Traditionally reports are run against the database and any self respecting reporting technology will to this day still offer you the option of building a report by querying directly against the database. Out the door goes the reuse of your .NET based business logic, right? No need to fear, Visual Studio offers a solution. Starting with Visual Studio 2005 Microsoft started shipping the ReportViewerControl with Visual Studio. Where SQL Server Reporting Services is full fledged reporting solution, with it’s own server, scheduling engine, user interface, the ReportViewerControl is only a small part of the food chain. The ReportViewerControl will render a report defined by an RDLC file against the data you feed into it. The data can still come from a database, but also from a WCF Service, any .NET object or SharePoint.

Let’s look at a sample. The sample will work on the AdventureWorks2008R2 database which can be downloaded from CodePlex. I’ve then created two views: CustomerView and OrderView. These views limit the data to Massachusetts and join a couple of table to make for more demo-friendly data.

The following script will add the two views that we’ll be using:


USE [AdventureWorks2008R2]
GO
 
/****** Object:  View [dbo].[CustomerView]    Script Date: 01/21/2011 05:53:18 ******/
IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[CustomerView]'))
DROP VIEW [dbo].[CustomerView]
GO
 
/****** Object:  View [dbo].[CustomerView]    Script Date: 01/21/2011 05:53:18 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[CustomerView]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[CustomerView]
AS
SELECT DISTINCT Sales.Customer.AccountNumber, Person.Person.LastName, Person.Person.FirstName, Sales.Store.Name AS StoreName, Sales.Customer.CustomerID
FROM         Sales.Customer INNER JOIN
                      Person.Person ON Sales.Customer.PersonID = Person.Person.BusinessEntityID INNER JOIN
                      Sales.Store ON Sales.Customer.StoreID = Sales.Store.BusinessEntityID INNER JOIN
                      dbo.OrderView ON Sales.Customer.CustomerID = dbo.OrderView.CustomerID
' 
GO
 
/****** Object:  View [dbo].[OrderView]    Script Date: 01/21/2011 05:54:51 ******/
IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[OrderView]'))
DROP VIEW [dbo].[OrderView]
GO
 
/****** Object:  View [dbo].[OrderView]    Script Date: 01/21/2011 05:54:51 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[OrderView]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[OrderView]
AS
SELECT     Sales.SalesOrderHeader.SalesOrderID, Sales.SalesOrderHeader.CustomerID, Production.Product.Name AS ProductName, Sales.SalesOrderDetail.OrderQty, 
                      Sales.SalesOrderDetail.UnitPrice, Sales.SalesOrderDetail.UnitPriceDiscount, Sales.SalesOrderDetail.LineTotal, Person.Address.AddressLine1, 
                      Person.Address.AddressLine2, Person.Address.City, Person.Address.PostalCode, Person.StateProvince.StateProvinceCode, Person.Address.SpatialLocation
FROM         Person.StateProvince INNER JOIN
                      Person.Address ON Person.StateProvince.StateProvinceID = Person.Address.StateProvinceID AND 
                      Person.StateProvince.StateProvinceID = Person.Address.StateProvinceID AND Person.StateProvince.StateProvinceID = Person.Address.StateProvinceID INNER JOIN
                      Sales.SalesOrderDetail INNER JOIN
                      Sales.SalesOrderHeader ON Sales.SalesOrderDetail.SalesOrderID = Sales.SalesOrderHeader.SalesOrderID INNER JOIN
                      Production.Product ON Sales.SalesOrderDetail.ProductID = Production.Product.ProductID ON 
                      Person.Address.AddressID = Sales.SalesOrderHeader.ShipToAddressID
WHERE     (Person.StateProvince.StateProvinceCode = N''MA'')
' 
GO

Next step is to create a WCF service application, add an Entity Framework model and drag the two views onto the model:
image
Next we’ll implement two methods to use the Entity Framework model to select the data and return a list of CustomerView or OrderView objects. 
Note: Normally you would not select all the contents in a view, but since we know that the number of rows in our views are already limited in numbers there is no problem here.

1: using  System;
2: using  System.Collections.Generic;
3: using  System.Linq;
4: using  System.Runtime.Serialization;
5: using  System.ServiceModel;
6: using  System.ServiceModel.Web;
7: using  System.Text;
8: 
9: namespace  AdventureServices
10: {
11:     public  class  AdventureService  : IAdventureService 
12:     {
13: 
14:         #region  IAdventureService Members
15: 
16:         public  List <CustomerView > GetReportCustomerData()
17:         {
18:             using  ( AdventureEntities  db = new  AdventureEntities () )
19:             {
20:                 var  query =  from  customer in  db.CustomerViews select  customer;
21:                 return  query.ToList();
22:             }
23:         }
24: 
25:         public  List <OrderView > GetReportOrderData()
26:         {
27:             using  ( AdventureEntities  db = new  AdventureEntities () )
28:             {
29:                 var  query = from  customer in  db.OrderViews select  customer;
30:                 return  query.ToList();
31:             }
32:         }
33: 
34:         #endregion 
35:     }
36: }
37: 
38: 

Next step is to create a report client. We can use any Windows or ASP.NET application and add start using the ReportViewerControl, but Visual Studio also offers a report application template. Very useful for quick demos:

image

Create the project (skip the wizard), then delete the Report1.rdlc. Add service reference to you AdventureServices and then add a new report using the Report Wizard (on my machine I’ve had poor luck adding the service reference as part of the wizard steps.

image

On the first screen of the wizard give the dataset a name (CustomerDataSet), select the service reference as a datasource and pick CustomerView as the available dataset.

image

On the next screen drag the fields we want to display to the ‘Value’ grid. More complex grouping per row and column is also possible.

image

Since we’re doing a very basic report the next screen offers no selectable options, although we’re starting to see part of our report.

image

Next we pick a style. There are a couple to choose from.

image

We click finish to close the wizard.  Our report looks like this:

image

Use the designer and the tool box to enhance the report just a little:

image

Now the next step is to make sure our form will display this report. Go to the Form1 designer, select the ReportViewerControl and look for the smart tag in the top right hand corner of the control.
Activate the smart tag and you’ll see that you have to option to select a report. Select the report you’ve just created:

image

Notice how at the bottom of the forms designer there now is a design time control:

image

The design time binding source allows us to feed data into the report. So far the ‘links’ that we created to the service have only been used to pull in the schema of the data to be used. The actual data needs to be fed into the report when the form is run. For this we implement a call to our AdventureService:

1: using  System;
2: using  System.Collections.Generic;
3: using  System.ComponentModel;
4: using  System.Data;
5: using  System.Drawing;
6: using  System.Text;
7: using  System.Windows.Forms;
8: 
9: namespace  AdventureReports
10: {
11:     public  partial  class  Form1  : Form 
12:     {
13:         public  Form1()
14:         {
15:             InitializeComponent();
16:         }
17: 
18:         private  void  Form1_Load(object  sender, EventArgs  e)
19:         {
20:             using  ( AdventureServiceReference.AdventureServiceClient  client = new  AdventureServiceReference.AdventureServiceClient () )
21:             {
22:                 this .CustomerViewBindingSource.DataSource = client.GetReportCustomerData();
23:             }
24:             this .reportViewer1.RefreshReport();
25:         }
26:     }
27: }
28: 

Note: Even though our service does not take any parameters to filter the data I hope you can see that it would only take a small amount of coding to add a couple of fields to the form and pass any kind of selection to the service. I leave the actual implementation of that up to you, when you’re building your ‘real’ report.

#    Comments [0] |
# Tuesday, August 24, 2010

Important update for Visual Studio 2010 & Team Foundation Server 2010 (TFS2010) users

Neno Loje blogged about an important update that is available and should be installed by everyone that uses Visual Studio 2010 and Team Foundation Server 2010.

It enables Lab Management, but also installs all hot fixes that have been made available since 2010 became available.

image

Neno’s FAQ says it all:

Frequently asked questions
  • Should I install the update although I do not use Lab Management?
    Yes, it contains all TFS fixes that have been made since TFS 2010.
  • Is this a Service Pack?
    No.
  • If I reinstall or add TFS components later, do I have to reapply this patch?
    Yes.
  • Should I stop TFS service prior to installing?
    No, this is not necessary and will be done automatically by the update.

More on: http://msmvps.com/blogs/vstsblog/archive/2010/08/23/update-for-tfs-2010-rtm-version-including-all-hot-fixes.aspx

Or jump directly to the download: KB 983578

#    Comments [0] |
# Tuesday, July 13, 2010

Purchasing Visual Studio 2010

Amazon sells various versions of Visual Studio 2010. Here is an overview of versions and this will give you a good indication of prices. Below the prices is a feature comparison also…

Visual Studio Professional

Plain
Upgrade from 2005/2008
with MSDN

 Visual Studio Premium

with new MSDN
with MSDN renewal

 Visual Studio Utlimate

with new MSDN
with MSDN renewal

Visual Studio 2010 Feature Comparison

 

Visual Studio 2010 Ultimate

Visual Studio 2010 Premium

Visual Studio 2010 Professional

Visual Studio Test Pro 2010

Debugging & Diagnostic

IntelliTrace (Historical Debugger)

     

Static Code Analysis

   

Code Metrics

   

Profiling

   

Testing

Unit Testing

 

Code Coverage

   

Test Impact Analysis

   

Coded UI Test

   

Web Performance Testing

     

Load Testing1

     

Microsoft Test Manager 2010

   

Test Case Management2

   

Manual Test Execution

   

Fast-Forward for Manual Testing

   

Lab Management Configuration3

   

Database Development

Database Deployment

   

Database Change Management2

   

Database Unit Testing

   

Database Test Data Generation

   

Development Platform Support

Windows Development

 

Web Development

 

Office and SharePoint Development

 

Cloud Development

 

Customizable Development Experience

 

Architecture and Modeling

Architecture Explorer

     

UML 2.0 Compliant Diagrams (Activity, Use Case, Sequence, Class, Component)

     

Layer Diagram and Dependency Validation

     

Read-only diagrams (UML, Layer, DGML Graphs)

     

Lab Management

Virtual environment setup & tear down3

   

Provision environment from template3

   

Checkpoint environment3

   

Team Foundation Server

Version Control2

Work Item Tracking2

Build Automation2

Team Portal2

Reporting & Business Intelligence2

Agile Planning Workbook2

Test Case Management2

Microsoft Visual Studio Team Explorer 2010

MSDN Subscription - Software for Production Use

Microsoft Visual Studio Team Foundation Server 2010

Microsoft Visual Studio Team Foundation Server 2010 CAL

1

1

1

1

Microsoft Expression Studio 3

   

Microsoft Office 2007 Ultimate, Communicator 2007, Project 2007 Standard, Visio 2007 Professional, SharePoint Designer 2007

   

MSDN Subscription - Software for Development and Test Use4

Windows Azure™

††

†††

 

Windows (client and server operating systems)

Microsoft SQL Server

Toolkits, Software Development Kits, Driver Development Kits

Microsoft SharePoint

   

Microsoft Dynamics

   

All other Servers

   

Windows Embedded operating systems

   

MSDN Subscription benefits

Team Explorer Everywhere (tools for cross-platform development)

     

Technical support incidents

4

4

2

2

Priority support in MSDN Forums

Microsoft e-learning collections

2

2

1

1

MSDN Magazine

MSDN Flash newsletter

MSDN Online Concierge

† Azure benefit includes 250 compute hrs/mo, 7.5 GB storage, 3 GB SQL Server database capacity, 1M .NET messages/month
†† Azure benefit includes 100 compute hrs/mo, 5 GB storage, 2 GB SQL Server database capacity, 500k .NET messages/month
††† Azure benefit includes 50 compute hrs/mo, 3 GB/mo storage, 1GB SQL Server database capacity, 300k  .NET messages/month
1. May require one or more Microsoft Visual Studio Load Test Virtual User Pack 2010
2. Requires Team Foundation Server and a Team Foundation Server CAL
3. Requires Microsoft Visual Studio Team Lab Management 2010
4. Per-user license allows unlimited installations and use for designing, developing, testing, and demonstrating applications.
UML is a registered trademark of Object Management Group, Inc.
Windows is either a registered trademark or trademark of Microsoft Corporation in the United States and/or other countries.

#    Comments [0] |
# Wednesday, June 02, 2010

Snippet Designer v1.3

Last week I mentioned and demonstrated a custom snippet in VS2010 during my BAND talk. Turns out there is an open source tool for helping you create snippets: snippetdesigner.codeplex.com, for more information and background info check Greg’s blog.

#    Comments [0] |
# Monday, May 10, 2010

Accessing TFS 2010 from Visual Studio 2008

I’ve recently installed TFS 2010 and have been running some projects on a complete 2010 oriented environment. Today I found the need to also connect to TFS 2010 from Visual Studio 2008. (essentially due to a project that I cannot convert to 2010, yet). In order to connect to Team Foundation Server from VS2008 you need the Visual Studio Team System 2008 Team Explorer, then in order to connect to TFS 2010 you also need the Visual Studio Team System 2008 Service Pack 1 Forward Compatibility Update for Team Foundation Server 2010.

So my initial setup was:

  • Windows 7 Ultimate 64-bit
  • Visual Studio 2008 Team Suite SP1
  • Visual Studio 2010 Ultimate

I installed Visual Studio 2008 Team Explorer and then on top of that the Forward Compatibility Update. I received no errors during the installations, but I was unable to connect to my TFS 2010 machine. I tried Martin Kulov’s suggestion of entering a full URL. This was not accepted as input. Neil Rees blogged about reinstalling Visual Studio 2008 SP1 after installing Team Explorer 2008. So I did. Then I reran the installer for the Forward Compatibility Update. Initially still no juice, but then when I entered a full URL (http://servername:8080/tfs/collectionname) it all came together and I was able to connect to a specific collection of team projects from within Visual Studio 2008.
Oh, and not unimportant during all this my VS2010 installation was unaffected.

#    Comments [0] |
# Thursday, February 11, 2010

Visual Studio & MSDN availability on Amazon

VS2010 is not yet available on Amazon.com, but VS2008 with MSDN subscription is. If you purchase VS2008 with a MSDN subscription today then you will still qualify for a free upgrade to VS2010 when it goes RTM.

image

More info on the offer here: http://www.microsoft.com/visualstudio/en-us/howtobuy/ultimate-offer.mspx

#    Comments [0] |

VS2010 & TFS2010 Licensing Whitepaper

Now that the Release Candidate is available and RTM is scheduled for April 12th it will be time to see how you can get licenses for these great tools.
Read the Licensing Whitepaper to find out what you need: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=2b1504e6-0bf1-46da-be0e-85cc792c6b9d

#    Comments [0] |
# Monday, February 08, 2010

Visual Studio 2010 RC and Team Foundation Server 2010 RC available

Both Visual Studio 2010 RC as well a Team Foundation Server 2010 RC are available to MSDN Subscribers as of today.
Go to: http://msdn.microsoft.com/en-us/subscriptions/downloads/default.aspx

If you want to provide feedback on this release then you do so by using Microsoft Connect.
Go to: https://connect.microsoft.com/VisualStudio

For any additional information about versions of Visual Studio 2010 and .NET Framework 4,
Go to: Visual Studio 2010 and .NET Framework 4 Release Candidate

#    Comments [0] |
# Friday, December 18, 2009

Visual Studio 2010 and .NET Framework 4 Beta period extended

Soma just announced that the beta period for VS2010 and .NET 4.0 has been extended and the release date is being pushed back a couple of weeks (no new date mentioned yet).

Also, in addition to the 2 beta’s that have been released there will be an additional public Release Candidate that everyone gets to play with :-)

 

Read more: http://blogs.msdn.com/somasegar/archive/2009/12/17/visual-studio-2010-and-net-framework-4-beta-period-extended.aspx

#    Comments [0] |
# Thursday, October 29, 2009

Team Foundation Server 2010 will retail for $499

Just discovered that TFS2010 will retail for $499 and this will include provisions to allow 5 users (without CALs) to access the server. This is regardless of installation choice: Basic, Advanced or Custom.

More on: http://beta.blogs.microsoft.co.il/blogs/shair/archive/2009/10/24/tfs-2010-server-licensing.aspx

#    Comments [0] |
# Thursday, October 22, 2009

ReportViewer 2010 supports “Export to Word”

A feature I’ve been waiting for in the ReportViewer control is “Export to Word”. After installing Visual Studio 2010 Beta 2 I immediately created a little test to see if the feature made it. Good news! It did. Here is a screenshot:

reportviewer2010

#    Comments [3] |
# Tuesday, October 20, 2009

Visual Studio 2010 versions (SKU’s)

From Scott Guthrie’s blog:

VS 2010 Product Line SKU Simplifications

With VS 2010 we are simplifying the product lineup and pricing options of Visual Studio, as well as adding new benefits for MSDN subscribers.  With VS 2010 we will now ship a simpler set of SKU options:

  • Visual Studio Express: Free Express SKUs for Web, VB, C#, and C++
  • Visual Studio 2010 Professional with MSDN: Professional development tools as you are used to today with the addition of source control integration, bug tracking, build automation, and more. It also includes 50 hours/month of Azure cloud computing.
  • Visual Studio 2010 Premium with MSDN: Premium has everything in Professional plus advanced development tools (including richer profiling and debugging, code coverage, code analysis and testing prioritization), advanced database support, UI testing, and more.  Rather than buying multiple “Team” SKUs like you would with VS 2008, you can now get this combination of features in one box with VS 2010. It also includes 100 hours/month of Azure cloud computing.
  • Visual Studio 2010 Ultimate with MSDN: Ultimate has everything in Premium plus additional advanced features for developers, testers, and architects including features like Intellitrace (formerly Historical Debugging), the new architecture tools (UML, discovery), test lab management, etc.  It also includes 250 hours/month of Azure cloud computing.

More on: http://weblogs.asp.net/scottgu/archive/2009/10/19/vs-2010-and-net-4-0-beta-2.aspx

#    Comments [0] |

Visual Studio 2010 to be released on March 22, 2010.

PCMag reports the following:

Microsoft said Monday that Microsoft Visual Studio 2010 Beta 2 and Microsoft .NET Framework 4 Beta 2 are now available to MSDN subscribers.

Microsoft also added what the company is calling the "Ultimate Offer," making it available to all active MSDN Premium subscribers at the official product launch on March 22, 2010. Under the offer, all active MSDN Premium subscribers will be transitioned to a higher-level Visual Studio 2010 with MSDN subscription at the product's launch.

The beta will also be made available generally on Oct. 21, Microsoft said. Microsoft will provide more details at its Professional Developers Conference (PDC) in Los Angeles on November 17 to 19.

Go to: http://www.pcmag.com/article2/0,2817,2354440,00.asp

#    Comments [0] |

Team Foundation Server 2010 Basic to replace SourceSafe

Brian Harry has a post on a little gem called Team Foundation Server 2010 Basic. Price and such is not yet know, but it is set to be a replacement for Visual SourceSafe.

TFS 2010 Beta 2 is available for download (if you’re an MSDN subscriber).

Read the more here: http://blogs.msdn.com/bharry/archive/2009/10/01/tfs-2010-for-sourcesafe-users.aspx

#    Comments [0] |

Visual Studio 2010 Beta 2 available to MSDN Subscribers

VS2010MSDNBeta2

Go to: http://msdn.microsoft.com to start downloading (I’m at 15% right now :-) ).

If you’re a little confused about the rebranding, then go here for a nice overview of the new names and how they replace previous versions.

The MSDN Visual Studio 2010 page can be found here.

#    Comments [0] |