Visual Studio 2008 SP1 Beta

Web Development Tools Microsoft

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

New Features:

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.

JScript Formatting

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

SP1 includes support for the intellisense engine to work with external libraries jQuery, Ext, and Prototype. For more details on these fixes, please see our jQuery blog post or our Ext JS bog post.


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.


Bug Fixes:

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 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
Link None

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
Issue Add support for remote jscript files in intellisense
Description You were unable to load js from absolute URLs – Example: <script src=””>
Resolution You can now load Jscript files from absolute URLs, so you can refer to remote .js files on web servers and get intellisense on those files.
Link None
Issue JavaScript IntelliSence missing RegExp object members.
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.
Issue Typo in JavaScript IntelliSense
Description Under the string properties, you will see “fontSize()” and “fontColor()”.
Resolution They are now fontsize() and fontcolor().
Issue VB Snippets in inline web services do not properly insert import statements.
Description In an inline web service (not in a code behind page), if you choose to insert a snippet that requires an import, we used to add “<%@… %> statements
Resolution Proper code import statements are now added.
Link None
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 Quotes not inserted after Class or CssClass attribute even when the option is enabled
Description If you type the “class” or “CssClass” property with the option to “Insert Attribute Value Quotes when Typing”, you used to get no quotes.
Resolution This option now works properly
Link None
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.


Files marked “Copy Always” to the output directory in WAP do not get copied when you build to a location different than the default

Description In a WAP project, if you add a file and change it to “Copy Always” in the property grid, it will not get copied if you try to output to some other folder, such as by the following command line “msbuild /p:OutDir=c:\MyOutDir WebApplication1.csproj”. Note that this is how Team Build operates so files of this type in Team Build cases will be copied properly.
Resolution Now files marked as this type will be copied
Link None
Issue VS will hang with IE8 when Ctrl-F5, View in Browser, or F5
Description In the IE8 Beta, Visual Studio would hang for long periods of time when starting the web browser with or without the debugger
Resolution This should now behave like other versions of IE.
Link None
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
Link None

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 .sln file for Web Site solution doesn’t update PhysicalPath property when the .sln file is Saved As…
Description When you do a “Save As…” on your solution and you save it to a different location, the AspNetCompiler.PhysicalPath property of your solution would not change to reflect the new relative path of your web sites against that solution. This would cause MSBuild to fail with an error 1003: The directory ‘<dirname>’ doesn’t exist.”
Resolution Now when you save your solution somewhere, the solution is dirtied with the new correct path to your web sites.
Link None
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
Issue “Format->Position” is disabled for all <span> based controls (Label, Hyperlink, SiteMapPath), absolute position on drop also does not work.

Span tag selections, such as hyperlink controls, did not support the Positioning tool in the format menu.  If you select these in design view and go to the format menu, the Position item will appear disabled.  Some examples of these tags include: HyperLink, LinkButton, Label, CheckBox, RadioButton, SiteMapPath.

Resolution This has been enabled for span selections.
Link None
Issue <div> inside a table renders poorly when a width syle in percentage is applied
Description If inside a table cell you put text that wraps inside of a div tag that has a width applied, an example looking something like: “<div style=”width:50%”>Long Text Here</div>”, the div will render improperly with a very small width
Resolution It now matches IE
Link None
Issue Unable to resize vertically certain html elements that have a height specified in percentage.

For certain elements (e.g. div, table, input), if you specify a percentage height specified and try to resize the element vertically, it is not resized. This happens when there is no outer positioned/sized container with height specified, Example:

<textarea id=”TextArea1″ cols=”20″ rows=”2″ style=’width: 50%; height: 50%’></textarea><br />

<input id=”Button1″ type=”button” value=”button” style=’width: 50%; height: 50%’/>

Resolution The elements are now able to be resized in the designer

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
“name of the directory/page.aspx” as opposed to “~/name of the directory/page.aspx”

Resolution We now give the proper app-relative URL


BulletedList control rendered incorrectly on the designer within a DIV with Overflow set to  Auto

Description From within a container such as a div, bulleted items, such as <li>, might overflow outside of the container control with the overflow value set to hidden
Resolution It now properly clips the bulleted items when the overflow is set to hidden
Link None
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
Link None
Issue Cannot insert a Hyperlink with an Image selection
Description With an image selected, you could not convert it to a hyperlink by going to the “Format > Convert to Hyperlink” command, as it was disabled.
Resolution This command is now enabled for images
Link None
Issue Unable to drop two controls w/ same namespace, but from different assemblies on the design surface.
Description If you have two assemblies with two different custom controls that have the same namespace, when you drag the custom control, Visual Studio will incorrectly change the tag prefix of the first control to that of the second control, so you will get errors rendering these.
Resolution It now correctly respects the tagprefixes and namespaces.
Link None
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 Style was not preserved during style editing
Description In an inline style, there were cases when after using the style builder, your single quotes would be turned into “&quot”.
Resolution We now always use single quotes in inline styles
Link None

~/ is not supported in <link> element

Description If you put a “~/” in a link tags that were runat=server to refer to a location of a style sheet, Visual Studio wouldn’t be able to interpret this. E.g. “<link href=”~/Styles/StyleSheet.css” rel=”stylesheet” type=”text/css” runat=”server” />”
Resolution This is now allowed at design-time.
Link None
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:


Discussion is closed.

Feedback usabilla icon