by Edward
30 June 2009 19:42
The ASP.Net MVC for Visual Studio 2010 RC1 is available for download from Codeplex at: http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=28527.
There is no new functionality but you can upgrade your current MVC projects to the 4.0 framework, or leave them "as is". Please read the release notes for a couple of key points to remember! If you never read release notes, take note of the following.
If you are working with Visual Studio Team System 2010 and the Historical Debugger is enabled, Visual Studio might occasionally crash. If you experience this problem, disable the Historical Debugger.
You can disable the Historical Debugger in Tools->Options. Note that this will be fixed in Beta 2.
Have fun!
by Edward
24 June 2009 07:19

A new feature in Visual Studio 2010 is called box selection, aka column selection, block selection, or rectangular selection. In the older versions of Visual Studio this was not possible. The only option you had was stream selection.
What this means is that you will not only be able to "copy/paste", "drag/drop", and delete box selections, but you will also have the new ability to insert and edit text on multiple lines.
Box selection allows you to manually select columns and lines at the same time. Just hold down SHIFT+ALT+ARROW keys, and you’ll quickly get the feel for box selection. In addition to the keyboard method in the link, you can hold down the ALT key and drag with the mouse to get a rectangular selection of text.
by Edward
12 June 2009 08:28
An aspect of generics that often comes across as surprising is that the following is illegal:
IList<string> strings = new List<string>();
IList<object> objects = strings;
The second assignment is disallowed because strings does not have the same element type as objects. There is a perfectly good reason for this.
If it were allowed you could write:
objects[0] = 5;
string s = strings[0];
Allowing an int to be inserted into a list of strings and subsequently extracted as a string. This would be a breach of type safety.
However, there are certain interfaces where the above cannot occur, notably where there is no way to insert an object into the collection. Such an interface is IEnumerable<T>. If instead you say:
IEnumerable<object> objects = strings;
There is no way we can put the wrong kind of thing into strings through objects, because objects doesn’t have a method that takes an element in. Variance is about allowing assignments such as this in cases where it is safe. The result is that a lot of situations that were previously surprising now just work.
Here is an example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SimpleVariance
{
class Animal { }
class Cat: Animal { }
class Program
{
// To understand what the new CoVariance and ContraVariance code does for you
// Try deleting or adding the words out and in from the following 2 lines of code:
delegate T Func1<out T>();
delegate void Action1<in T>(T a);
static void Main(string[] args)
{
Func1<Cat> cat = () => new Cat();
Func1<Animal> animal = cat;
Action1<Animal> act1 = (ani) => { Console.WriteLine(ani); };
Action1<Cat> cat1 = act1;
Console.WriteLine(animal());
cat1(new Cat());
}
}
}
by Edward
04 June 2009 07:00
The IIS SEO (Search Engine Optimization) Toolkit helps Web developers, hosting providers, and Web server administrators to improve their Web site’s visibility and pagerank in search results by recommending how to make their site content more search engine-friendly.
The IIS SEO Toolkit includes a Site Analysis module, the Robots Exclusion module, and the Sitemaps and Site Indexes module, which let you perform detailed analysis and offer recommendations and editing tools for managing your Robots and Sitemap.
The IIS SEO Toolkit can:
- Improve the volume and quality of traffic to Web site from search engines
- Control how search engines access and display Web content
- Inform search engines about locations that are available for indexing
You can read and download more from here.