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.
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.
![clip_image002[9]](http://blogs.msdn.com/blogfiles/webdevtools/WindowsLiveWriter/VisualStudio2008SP1Beta_A074/clip_image002%5B9%5D_thumb.jpg)
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
![clip_image008[4]](http://blogs.msdn.com/blogfiles/webdevtools/WindowsLiveWriter/VisualStudio2008SP1Beta_A074/clip_image008%5B4%5D_thumb.jpg)
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.
![clip_image010[4]](http://blogs.msdn.com/blogfiles/webdevtools/WindowsLiveWriter/VisualStudio2008SP1Beta_A074/clip_image010%5B4%5D_thumb.jpg)
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:
Performance:
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 |
| Link |
None |
CSS:
| 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 |
| Link |
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=337653 |
JScript:
| Issue |
Add support for remote jscript files in intellisense |
| Description |
You were unable to load js from absolute URLs - Example: <script src="http://mydomain.com/file.js"> |
| 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 |
Editor:
| 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 |
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 |
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 |
| Link |
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=317124 |
| 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. |
| Link |
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=312199 |
| Issue |
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 |
| 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 |
| Link |
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=304108 |
| 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. |
| Link |
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=293526 |
| 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 |
| Link |
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=310296 |
| 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. |
| Resolution |
We now have the “Use Custom Web Server” option where you can specify a remote server to debug against. Screen shot below:
|
| Link |
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=324664 |
Designer
| Issue |
"Format->Position" is disabled for all <span> based controls (Label, Hyperlink, SiteMapPath), absolute position on drop also does not work. |
| Description |
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. |
| Description |
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 |
| Link |
|
| Issue |
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. |
| Link |
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=314745 |
| Issue |
Problem with NavigateURL of Hyperlink Control - URL resolution |
| Description |
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 |
| Link |
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=330792 |
| Issue |
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 |
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 |
| Link |
http://forums.asp.net/t/1185266.aspx |
| 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 “"”. |
| Resolution |
We now always use single quotes in inline styles |
| Link |
None |
| Issue |
~/ 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. |
| Link |
http://www.telerik.com/community/forums/thread/b311D-bbgthd.aspx |
The following are some additional bug fixes in the designer space:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=315930
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=317251
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=321902
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=337534
http://connect.microsoft.com/feedback/ViewFeedback.aspx?SiteID=477&FeedbackID=310198
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=311717
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=322465
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=327262