Friday, January 12, 2007

Microsoft Releases Orcas January 2007 CTP

Microsoft posted on January 10, 2006 at about 8:30 p.m. PST the long-awaited Microsoft Pre-release Software Visual Studio Code Name "Orcas" - January 2007 Community Technology Preview (CTP), formerly known as the Orcas December 2006 CTP. The download is available as an extractable executable, consisting of VSDec2006CTP.part1.exe and six VSDec2006CTP.part#.rar files (4.21 GB). Alternatively, you can create a Virtual Server 2005 or Virtual PC 2004 image (.vhd file) by combining the self-extracting base image (VSCTPBase.exe, 1.12-GB) with VSDec2006CTP.part01.exe and seven VSDec2006CTP.part0#.rar files (4.91 GB). Notice the 0 prefix that distinguishes the executable from the virtual server files. The Virtual Server OS is Windows Server 2003 Enterprise Editon SP1, not Windows server 2003 R2. The virtual machine files extract to Base01.vhd (2.86 GB), VSDec2006CTP.vhd (11.45 GB), and VSDec2006CTP.vhc (13 kB). Starting the virtual machine adds Base01.vmc (11 kB) and VSDec2006CTP.vsv saved-state file (1.51 GB). Thus you need about 22 GB of free disk space for starters.

Orcas January CTP Shortfalls

The January CTP's LINQ components (especially LINQ to SQL) aren't fully cooked, as evidenced by the following comment from a January 12, 2006 post to Charlie Calvert's C# Community Blog:

This build of Orcas has good support for LINQ to Objects and only shaky support for LINQ to SQL. There has, however, been good support for LINQ To SQL in the internal builds I've seen in the last few days. These internal builds all target the February CTP.

The January 2007 CTP Release Notes state:
  • ADO.NET Entities in this current drop do not support LINQ—The private CTP of ADO.NET (ADO.NET August CTP) does offer a preview of LINQ integration but that functionality does not work with the Orcas January 2007 CTP.
  • No ADO.NET tools support for the Orcas January 2007 CTP—There is a publicly available ADO.NET Tools CTP. Please note these tools work with the ADO.NET August CTP and not the Orcas January 2007 CTP.
  • You can’t import Whidbey SDM Designer files in Orcas—No workaround is available for this issue.
The "Overview" section of the download page states that the January CTP includes SQL Server Compact Edition; it doesn't. You'll find that the CTP installs a Microsoft SQL Server Everywhere Edition\v3.5 folder that contains outdated Sqlce*30.dll runtime files, not the Sqlce*31.dll files from January 2007's SQL Server 2005 Compact Edition Web (RTM) release. However, Visual Studio's Choose Data Source dialog opened from the Data Source Configuration Wizard does have an SQL Server 2005 Compact Edition choice. Erwyn van der Meer raises the issues of missing developer support for .NET 3.0—no documentation, project templates, or visual designers—or AJAX in ASP.NET. He also found that the WPF, WCF, and CardSpace versions are close to 200 builds earlier than RTM. Note: The Release Notes also describe the numerous problems that occur if you install the "VS 2007" bits side-by-side on a machine running VS 2005. There are three references to "VS 2007" in the Release Notes; Add/Remove Programs includes "Microsoft Document Explorer 2007" and "Microsoft Visual Studio 2007 Tools for Office Runtime," which would indicate that the Orcas team is confident of releasing VS vNext this year. .NET Framework 3.5 (GreenBits) is a 9.62-MB addition to .NET Fx 3.0. Data-intensive developers might want to delay extensive testing of LINQ features (other than LINQ to Objects) until the Orcas February [?] 2007 CTP. Installation Issues with Virtual Server 2005 R2 I attempted to install the extracted bits on the Virtual Server 2005 R2's Windows Server 2003 R2 standard edition in accordance with the download page's instructions. However, the following virtual machine setup instructions for Virtual PC 2003 don't work with Virtual Server 2005 R2. 6. Click the New button to launch the “New Virtual Machine Wizard”. 7. Navigate to the Options page and select "Add An existing Virtual Machine" radio button. 8. Click the Browse button and navigate to the location you extracted the files to and select VSODec2006CTP.vmc [sic] image 9. You will be prompted for the location of the base image and you should point to the Base01.vhd that you extracted earlier and click OK 10. Clear the “When I finish, open settings” checkbox and click OK 11. Select the new image entry and click Start You receive a message such as the following when you attempt to start the virtual machine:

Note: Click the images for full size versions or click here for a Web page with a set of larger images.

To set up the virtual machine on Virtual Server 2005 R2, substitute these steps after extracting the :

1. Click the Virtual Machine group's Add button to open the Add Virtual Machine page.

2. Type the d:\full path\VSDec2006CTP.vmc file in the Fully Qualified Path to File text box:

3. Click Add to create the new virtual machine from VSDec2006CTP.vmc.

4. Click the Virtual Disk group's Inspect button to open the Inspect Virtual Hard Disk page, and select d:\full path\VSDec2006CTP.vmc from the the Known Virtual Hard Disks list.

5. Click Inspect to open the "VSDec2006CTP.vhd" Virtual Hard Disk Properties page, which displays the error message in the Parent Virtual Hard Disk(s) text box:

6. Click the red error message to open the Update Virtual Hard Disk Parent page, and select the d:\full path\Base01.vhd item in the Parent Virtual Hard Disk Path text box:

7. Click Update Parent Path to return to the "VSDec2006CTP.vhd" Virtual Hard Disk Properties page, which now shows d:\full path\Base01.vhd in the Parent Virtual Hard Disk(s) Path text box.
8. Click Master Status. If VSDec2006CTP doesn't appear in the Remote View list, click Add, select d:\full path\VSDec2006CTP from the list, and click Add. 9. In the Master Status page, hover the mouse over VSDec2006CTP and select Configure to open the configureation page. Set the Memory, CD/DVD and Network Adapters values. 10. Hover the mouse over VSDec2006CTP and select Turn On. After a minute or two, Windows Server 2003's logon dialog appears. 11. 13.306 isn't the correct set of Virtual Machine Additions for this relase, so click Virtual Machine Additions to open the page of the same name, mark the Install Virtual Machine Additions check box and click OK. 12. Click the thumbnail to turn on remote operation. Type your Administrator credentials to open the "VSDec2006CTP" Remote Control page. 13. Log on with Right Alt + Del, accept Administrator as the user name and type P2ssw0rd as the password.

New LINQ Resources While you're waiting for the Orcas February 2007 CTP, take the time to explore these new LINQ-related resources:

Microsoft's Wes Dyer has produced an eight-part treatise on LINQ queries:

  1. Comprehending Comprehensions—What are queries? How are queries treated by the compiler?
  2. Transparent Identifiers—How are local variables introduced by queries?
  3. Thus Quoth the Humble Programmer—What are expression trees? What are lambdas translated into?
  4. Reading and Writing Queries—What mental models are useful in reading and writing query expressions? What are the scoping rules for queries?
  5. A Model for Query Interpretation—How can we think about query evaluation? Is it possible to think of queries in terms of the queries and not the rewrites? What is the conceptual model for Linq to Objects queries?
  6. How Linq to Objects Queries Work—What causes Linq to Objects queries to be lazily evaluated? How are the results computed? What underlies the conceptual model for Linq to Objects? Why do queries exhibit their debugging behavior?
  7. Having Trouble with Queries—What constitutes good error messages? How are effective error messages for queries generated in the face of type inference and significant syntactic sugar?
  8. Another Model for Query Interpretation—Are there other models for query interpretation besides an imperative one? Why are some queries declarative and others not?

Eric Lipper discusses lambdas in the following two recent posts:

Australian .NET developer Troy Magennis's Hooked on LINQ wiki is up to 88 pages. All of the preceding resources are C#, but the query syntax is quite similar in VB.

Updated: January 15, 2007

Technorati Tags: Orcas, ADO.NET vNext, Entity Framework, Entity Data Model, LINQ, LINQ to Entities, LINQ to XML, LINQ to SQL, Entity SQL, eSQL, DLinq, XLinq, C# 3.0, VB 9.0