Visual Studio 2008 SP1 Beta
Visual Studio 2008 SP1 Beta is now available! You can download it here (though before you do, read the note below). In SP1, we have added some new features as well as many bug fixes. In this blog post I’ll attempt to give an overview of the features as well as some of the key issues the Visual Web Developer team has addressed so far in the service pack.
Installation Note: If you previously installed a Visual Studio 2008 Hotfix (in particular, KB944899), you should run the Hotfix Cleanup Utility before installing Visual Studio 2008 SP1 Beta. For more information, see Remove KB944899 for Visual Studio 2008 SP1 Beta1.
Class Libraries and Web Application Projects in Express
Visual Web Developer 2008 Express Edition now has support for Class Libraries and Web Application Projects. This enables you to leverage features only available in Visual Studio Standard and above before, including project-to-project references and the web application project build system. To create one of these projects, you can simply go to File > New Project. For more information on Web Application Projects (WAP), you can read this introduction to WAP on MSDN.
Note that Express SP1 is a standalone product that does not require Express RTM to be already installed, so you can install it on a clean machine. However if you choose to install Express SP1 on a machine that currently has RTM, your RTM version will automatically be uninstalled and replaced with the SP1 version. Also note that there are a couple installation behavioral limitations for SP1 Beta: Express SP1 Beta cannot be installed on top of a higher level SKU of Visual Studio (e.g. if you have Visual Studio Standard RTM on your machine, you will not be able to install VWD Express SP1 Beta); in addition, if you have a machine with both Express and Visual Studio installed, if you install the SP1 patch for Visual Studio, your Express SKU will not function properly.
Your JScript code can now be formatted in both inline script blocks and .js pages. See linked blog post for additional details on this new feature added for SP1.
More Support for External JScript Libraries
Dynamic Data Templates
The .NET framework 3.5 SP1 now has support for Dynamic Data and the Entities framework. As a part of Visual Studio SP1, we’ve added new templates for both web site and WAP to get you started working with these features. If you’re interested in learning more about Dynamic Data, you can visit the MSDN code gallery site for Dynamic Data. You can also use that site to download the latest releases and give feedback on the feature. Note that the templates that come with SP1 do not include the Dynamic Data wizard, which is available for download on the site.
SQL Server 2008 Support
We have added support for SQL Server 2008 in Visual Studio 2008. Specifically here is what we’ve added:
· Visual Web Developer Express now comes with the SQL Server 2008 Express Beta
· We now support drag-drop of SQL 2008-specific data types in the designer from the Server Explorer – examples include DateTime2, DateTimeOffset, Date, and Time.
· The control designers and wizards for SqlDataSource and ObjectDataSource also support the above SQL Server 2008 data types
· You can use the Database Publishing Wizard in Visual Studio (right-click a node in Server Explorer, and choose “Publish to provider…”) to publish to and from a SQL Server 2008 database
WCF Renaming Support
We now have proper renaming support for WCF classes inside of your Web Sites and Web Application Projects. If you rename your class, interface, or namespace of your WCF service, we now automatically fix up the web.config and SVC file so your web sites will build and work at run-time.
IIS Module and Handler Templates
We have added two new templates in WAP projects and class libraries—one for an IIS module and one for an IIS handler. For more information on development using these, check out Mike Volodarsky’s post on advanced Web server deployment and development with IIS 7.0 and ASP.NET.
We have many areas in which we fixed bugs: Performance, HTML Editor, Jscript, CSS, Designer, and the Project system. Below you’ll find a more in-depth description of many of the improvements we’ve made in each area:
All performance hot fix changes are automatically a part of SP1. See http://blogs.msdn.com/webdevtools/archive/2008/02/09/downloadable-hotfix-performance-and-editor-fixes-for-microsoft-visual-studio-2008-and-visual-web-developer-express-2008.aspx for more information on the fixes here. In addition to the performance fixes in the hot fix changes, we have added the following fix seen below.
Note that you may still experience poor performance when typing in design view or during design/source view switch, as these have not been addressed fully in Beta.
|Issue||Designer load is extremely slow when assemblies are missing.|
|Description||In a web site or WAP that references assemblies that are not present in your GAC or bin, changing to design view is extremely slow, and can make the IDE appear to hang if there are many instances of controls on the page that rely on assemblies that are missing.|
|Resolution||This should now be a quick operation|
|Issue||CSS Formatting includes extra spaces.|
|Description||When you format your CSS document and you have a URL in quotes, extra spaces were inserted prior to the URL. An example is: background: url(‘Images/myBackground.jpg’ ); inserting would cause background: url(‘ Images/myBackground.jpg’ ).|
|Resolution||This should now be a quick operationNo spaces are inserted on document formatting|
|Description||If you declared a RegExp variable, such as “var reg = new RegExp(“e”);”, and typed reg., you would get no intellisense dropdown.|
|Resolution||You now get intellisense on the RegEx class.|
|Description||Under the string properties, you will see “fontSize()” and “fontColor()”.|
|Resolution||They are now fontsize() and fontcolor().|
|Issue||Visual Studio does not have support for VBScript|
|Description||In Visual Studio 2008 support for VBScript was removed, so text colorization and intellisense no longer functioned.|
|Resolution||We have returned support here so it should work similarly to past versions|
|Issue||Debugging classic ASP pages|
|Description||Breakpoints were not properly hit in classic ASP pages|
|Resolution||They are now working properly|
|Issue||HTML editor in Split view resize problem|
|Description||In split view in a dual monitor setup, when “vertical split mode” is enabled, you were unable to drag the splitter around.|
|Resolution||Now you are able to drag the splitter around|
|Issue||Images disappear in design view when opening 2nd or more aspx pages|
|Description||If your ImageUrl on a server control points to an image location that is not app relative, the image would not always display correctly in the designer.|
|Resolution||The image should now display correctly|
Project System / Templates / Compilation / Debugging
|Issue||COMException when you open a WAP that uses IIS without permissions to IIS|
|Description||If you try to open a WAP that uses IIS without admin privileges, you will get an a cryptic error message talking of a “System.Runtime.InteropServices.COMException”. This can also happen when you upgrade your existing VS2005 WAPs.|
|Resolution||Now you get an actionable error message|
|Issue||Using configSource for <system.web><compilation> section breaks debugging in VS2008|
|Description||In a WAP project, if you had a configSource in your web.config that pointed to a section that enabled debugging, Visual Studio would not detect this and prompt you to enable debugging anyway, thus breaking your web.config.|
|Resolution||Now if Visual Studio detects a configSource, we ignore the debug option and you must set this manually.|
|Issue||Multiple debug actions without closing IE may deadlock VS with IE.|
|Description||With script debugging enabled, occasionally on certain configurations VS might hang when starting without debugging.|
|Resolution||VS should no longer hang|
AutoEventWireup=”false” by default in sub-master page.
|Description||When you create a master page that inherits another master page, the template will set AutoEventWireup=”false”|
|Resolution||It is now set to “true” in this case|
|Issue||Web config validation does not recognize ‘traceOutputOptions’ attribute|
|Description||The web.config would squiggle the ‘traceOutputOptions’ attribute and indicate that it is not a recognized attribute. It would give the error: “The ‘traceOutputOptions’ attribute is invalid – The value ‘Callstack, DateTime’ is invalid according to its datatype ‘NmToken’ – The ‘,’ character, hexadecimal value 0x2C, cannot be included in a name.”|
|Resolution||It now validates this correctly|
|Issue||Web Debugging fails if compilation element is defined inside of <location> element.|
|Description||If you had a <location> tag in your web config, in which you had set debug=true, Visual Studio did not properly parse the file and tried to set debug=true anyway, which could break your web.config.|
|Resolution||Now we only set compilation debug to true if either we have root System.Web section which contains a <compilation> tag, or if you have neither a root System.web compilation section nor a <location> tag.|
|Issue||Automatically updating webreference in client, while debugging webservice on the same machine.|
|Description||There are cases when Visual Studio may update a web reference while you are debugging.|
|Resolution||We now explicitly prohibit Visual Studio from updating a web reference while in debug mode.|
|Issue||VS2005 Publishes bin\vssver2.scc|
|Description||In a Web Application Project under source control, if you build and Publish Project we would publish the vssver2.scc file, and subsequent publishes would fail with the error “Unable to add ‘bin/vssver2.scc’ to the Web. The file ‘bin\vssver2.scc’ already exists in the Web.|
|Resolution||Visual Studio no longer publishes this file, so publishing should no longer fail|
|Issue||Cannot Use IIS Web Server option and set project URL|
|Description||In a WAP project where the files are on a remote location, if you specified a remote server to debug against in the Web property pages under “Use Local IIS Web Server”, we would not allow you to proceed without configuring the virtual directory, which was not possible for remote servers. This made it very difficult to debug against a remote IIS location for remote WAPs.|
We now have the “Use Custom Web Server” option where you can specify a remote server to debug against. Screen shot below:
|Issue||HTML designer does not accept keyboard shortcuts|
The following shortcut keys did not work in the designer:
Ctrl+I, Ctrl+U, Ctrl+L, Ctrl+B
|Resolution||They now do the following: I = italic, U = underline, L = hyperlink, and B = bold|
ASP.NET StylesheetTheme can’t be use with Master Page in VS2008 RTM
|Description||If you’re using master/content pages, in your content page if you apply a theme as a StyleSheetTheme, but the theme contains a CSS page (as opposed to just Skin files), you will get an error rendering your page in design view for the content page.|
|Resolution||The theme now displays correctly.|
|Issue||Problem with NavigateURL of Hyperlink Control – URL resolution|
In some cases the URL Picker dialog would give the wrong location for pages. For instance, if you had two pages in a folder, and in one page you had a server control that you wanted to link to another page by using the URL picker, you would get the
|Resolution||We now give the proper app-relative URL|
|Issue||Component One Menu and Toolbar render a weird “x” in DV|
|Description||Rendering a zero width div would render it as no width|
|Resolution||It is now rendered as zero width|
|Issue||CSS files in folders nested under App_Themes are not picked up at design time in VS 2008 RTM|
|Description||When using themes, if you create a style in a nested folder inside of your theme (e.g. App_Themes\Theme1\MyStyleSheets\MyStyles.css), these would not be picked up by the designer.|
|Resolution||They now display properly.|
|Issue||Many NBSPs added and tag name corruption when editing a page that uses Telerik controls (popular custom controls)|
|Description||When there are multiple register directives for the same namespace in different assemblies, multiple NBSPs may be generated in your page and your markup could possibly be changed incorrect. This can be seen when using some Telerik controls.|
|Resolution||VS no longer changes your code incorrectly|
|Issue||Telerik Controls Not Working in Visual Studio 2008|
|Description||Some telerik control configuration aren’t working properly in all cases in VS2008. Specifically, if you click on the RadAjaxManager and click Configure Ajax Manager, you will get an empty collection when you inherit from a master page.|
|Resolution||You now get the appropriate collection when using this configuration utility.|
The following are some additional bug fixes in the designer space: