Monday, May 12, 2008

Visual Studio 2008 SP1 Beta Released

 

Just today we released Visual Studio 2008 SP1 beta...  VS 2008 SP1 beta is truly a feature packed release for Web Developers...  From enhancements in WCF space to including WAP (Silverlight and MVC with download) in VWD Express there are tons of things you can do with VS 2008 SP1...

John Dundon has written a very detailed post about the release on our team blog below:

http://blogs.msdn.com/webdevtools/archive/2008/05/12/visual-studio-2008-sp1-beta.aspx

Also ScottGu has put forward a much more broader blog post about SP1 beta on his blog below... Do take time and read through the these two posts...

http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx 

If you have question, queries or feedback do not hesitate to write to me at Vishal.Joshi@Microsoft.com

Dynamic Data's new Code Gallery SP1 Version Released

 

Our team just released new version of ASP.NET Dynamic Data in Code Gallery.  This version of Dynamic Data release works on VS 2008 SP1 and also contains the new Blinq wizard for Dynamic Data.  You can read more about it at: http://code.msdn.microsoft.com/dynamicdata.

Code Gallery is a new model that our team is using to share early previews of our work in Dynamic Data.  This allows our team to share the latest developments with the community as soon as they meet the minimum quality bar.  Usually we would release something only after it goes through rigorous quality bar but this model allows community to view and provide feedback while we are still completing our work on the feature...  Hope you will enjoy looking at this more transparent model of technology releases from Microsoft...

Tuesday, May 06, 2008

Computer World survey ranks MS Web Development higher than Google, Yahoo & Facebook

Web 2.0 developers rank MSN/Live higher than Google, Yahoo and Facebook

http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9082558

The top 7 web-based developer programs ranked:

  1. Microsoft
  2. Google
  3. Yahoo
  4. eBay
  5. Amazon
  6. Facebook
  7. PayPal

Monday, March 24, 2008

New French Coding4Fun site released

image

New and exciting fun place to learn coding for French speaking friends...  Click here to go to Coding4Fun...

Labels: , , , , , , ,

Saturday, March 15, 2008

Subscribe to my posts on "Your Websites Our Passion"

 

Now you can subscribe to the posts that I make on our Team blog (Visual Studio Web Developer)  by using the below RSS feed...

http://blogs.msdn.com/webdevtools/rss.aspx?Tags=Vishal+R.+Joshi&AndTags=1

Labels: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Tuesday, March 11, 2008

Upgrading Projects from ASP.NET MVC Preview 1 to Preview 2 (MIX 2008)

 

If you previously had ASP.NET MVC Preview 1 (CTP 1) and had already created a few projects on it then you might have to take this additional step to convert your project to ASP.NET MVC Preview 2 (MIX 2008) [After installing MVC Preview 2 (Resources here)].

In ASP.NET MVC Preview 2 we introduced a special MVC Project flavor GUID for MVC Projects.  Some of the special MVC project behaviors described in my previous post "Tooling Features Overview"  may not function as expected e.g. new 'MVC' node under the 'Web' node for 'Add new Items Dialog Box' may not show...

image

 

To make the project features to function as expected in Preview 2, open the MVC project file (.csproj/.vbproj) of the project you created using MVC Preview 1.  Look for 'ProjectTypeGuids'... You will find the below piece of code...

       <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Replace the above with:

<ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

When you reload/reopen your project your MVC Preview 2 functionality will be available in the projects you created MVC Preview 1.  Do note this in addition to other steps mentioned in the Readme Document for ASP.NET MVC Preview 2 which goes into greater details of upgrade scenario.

Google's 9 Principles of Innovation

 

This is worth a read:

http://www.fastcompany.com/fast50_08/google_marissa-mayers-9-principles-of-innovation.html

Friday, March 07, 2008

ASP.NET MVC Framework Preview 2 (Mix 2008) Resources

I am attempting to compile the relevant resources for ASP.NET MVC Framework Preview 2 at one place so that you will not have to keep searching around...


ASP.NET MVC Preview 2 Download Location:
Preview 2 Download (English-US) - Microsoft.com download location to get the latest MVC bits...

ASP.NET MVC Documentation:
Home Page - Asp.Net home page where you can find latest updates on ASP.NET MVC Framework in general...
User Documentation - The official Microsoft user documentation on ASP.NET MVC Framework...
Readme File - Contains a ton of information on how to install the preview 2 and how can it play well if you already have MVC Framework Preview 1, Silverlight etc...

ASP.NET MVC Learning
Forums - There is a ton of activity on ASP.NET MVC Framework forums, this is a great way of getting your questions answered...
Videos - There are some great quick start videos on ASP.NET MVC Framework available here, we will be adding more videos here going forward to do keep checking

ASP.NET MVC Blogs
Scottgu's Tutorials Root - Scottgu has a bunch of very walk-through on ASP.NET MVC Framework here...
ASP.NET Tooling Overview - In this post I have explained the tooling features for ASP.NET MVC Framework...
MVC Unit Test Framework Integration - In this post I have explained how you can integrate a new test framework like NUnit, MBUnit, xUnit etc into your MVC Application.
NUnit & Rhino Mocks Integration - In this post Joe has taken a NUnit and Rhino Mocks framework as an example and he has created a Test Project Template for you to download... I will highly encourage you to check this out...
Phil Haack's Blog - Phil keeps writing interesting posts about ASP.NET MVC Framework... It would be nice to routinely check his blog too...
My Blog - I also intend to keep posting ASP.NET MVC Framework articles on my blog regularly so you might want to check that out too...
Scott Hanselman's Blog - Scott has some ASP.NET MVC Zen stuff on his blog too, do find time to check that out...

ASP.NET MVC CodePlex Source Code
http://www.codeplex.com/aspnet - CodePlex Home Page for ASP.NET
MVC Preview 2 Source Code - CodePlex location to download MVC Preview 2 Source Code


Hope this helps...

Labels: , , , , , ,

Monday, March 03, 2008

On Demand Webcast : Visual Studio 2008 for Web Developers

VS 2008 brings a great deal of features for Web Developers...  As a part of VS 2008 launch I did a web cast on MSDN on Feb 26th 2008.  Below are few of the features that I did demos on, hope you will enjoy it:

  1. Multi-Targeting
  2. Split View & Nested Master pages
  3. CSS Features (Manage Styles, Apply Styles, CSS Properties & Summary)
  4. ASP.NET List View Control and Ajax
  5. Javascript Intellisense and Type inferencing
  6. Javascript Referencing & Commenting
  7. Calling Services (.asmx & .svc )from Javascript
  8. Javascript Debugging
  9. Web Deployment Projects (WDP) for VS 2008

REPLAY URL : https://www.livemeeting.com/cc/mseventsbmo/view?id=1032369517&role=attend&pw=A6176DF3

Labels: , , , , , , , , , , , , , ,

Sunday, February 24, 2008

Webcast: New Enhancements for Web Developers in VS 2008

 

Wanted to update you on a upcoming web cast that I am doing in support of Visual Studio 2008 launch event...

Title: New Enhancements for Web Developers in VS 2008

Date/Day: Tuesday, February 26th 2008

Time: 11am to 12:30pm Pacific Standard Time (PST)

Description :Get an overview of how Visual Studio 2008 takes web development to the next level. See highlights of the key new Web tools experiences in the Visual Studio 2008 product including support for multi-Targeting,  JavaScript enhancements, rich support for CSS standards, rapid development of data-bound web pages using LINQ To SQL, and more. Also learn about the new Web Application Project and Web Deployment Project enhancements to Visual Studio which adds an alternative Web application development, build and deployment models to the Visual Studio project system.  Also have a sneak preview of the work being done for Web Developers in out of band releases like ASP.NET MVC Framework.

Registration URL:

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032369517&Culture=en-US

Hoping you will be able to join!!

Labels: , , , , , , , , , ,

Tuesday, February 19, 2008

Free Microsoft Software for Students

Microsoft announced an unparallel program called "Microsoft Dreamspark which will offer free Microsoft Visual Studio 2008, Microsoft Expression Studio and Windows Server 2008 free to students...

You can read more about this announcement at http://channel8.msdn.com/Posts/2047/

Enjoy!!

Monday, February 18, 2008

ASP.NET MVC Test Framework Integration

Previously I gave an overview  of new tooling features for ASP.NET MVC Framework that we are hoping to make available during MIX 2008 timeframe.  You can read more about Overview of MVC Tooling Features for MIX 2008 here

Goals: ASP.NET MVC Framework is Microsoft's implementation of MVC framework which is hugely popular in the industry for best practices and conventions.  In lines with best practices one of the goals of this new ASP.NET framework is to enable easy unit testable web applications.  To ease unit testing and to make it part of our regular application development workflow Visual Studio is introducing integration of unit test projects with ASP.NET MVC Application.  Many in the community are already familiar with and are using test frameworks liked Visual Studio Unit Test, NUnit, MBUnit etc.  If you have Visual Studio Unit Test framework on your machine (i.e. in Visual Studio 2008 SKUs Professional and Above) then on creation of ASP.NET MVC Web Application you will automatically be prompted to create a test project.   Not only that, due to the popular community request Visual Studio will now also provide a mechanism to extend this test framework system to integrate external unit testing frameworks like NUnit, MBUnit, xUnit etc.

Today I will be walking you through this new Test Framework integration for MVC Projects. Our goal today is:

  • To understand how to create test project templates
  • To understand how registration works for test project framework and how to register a custom test project template

At the end we want to get to a point where your test framework of choice shows up in the drop down when you try to create a MVC Application (like 'NUnit' does in the figure below):

(Fig 1: Create Test Project Dialog Box)

Applies To:  This article applies to Visual Studio 2008 with ASP.NET MVC Framework Mix 2008 CTP installed.  This documentation is pre-release documentation intended to provide insights to the community on the work being done by MS on ASP.NET MVC Framework, we are still in development phase so please do note that this is subject to change, but we believe this is very close to what you can see during MIX timeframe.

Video:  I have also created a screen cast (approx 30 mins in length) which covers the concepts of this post in detail, we will be making it available here soon...

Step 1: Creating Test Project Templates : There is a very succinct article on MSDN on how to create Project Templates.    You can find this article at http://msdn2.microsoft.com/en-us/library/s365byhx.aspx.  Although the process may vary depending on the type of unit test framework and mock objects you choose, I am summarizing the process in context of MVC Test Project Template which I created using NUnit framework and Rhino Mocks library.

  • Create a new class library project with the Code Language of your choice, give it a good reusable name which will apply to your test project template.
  • Add reference to "System.Web.MVC", "System.Web.Abstractions" and "System.Web.Routing" dlls in your class library project.  These DLLs will ship along with ASP.NET MVC Framework in the MIX 2008 CTP.
  • Download required Test frameworks (NUnit, MBUnit etc)
  • Download required Mock object libraries (Rhino mocks, Type mocks etc)
  • In the class library project add the right references to to the test framework and mock objects which you want to use.
  • Make sure that you make all of the above references dll's  "Copy Local" property to "True" (Select the referenced DLL and hit F4 to access the property in the Property Grid)
  • Add required folders and classes to test an MVC Application.  You can pre-populate whatever tests you like, but at the minimum if you would recommend matching the default MVC Application template that ASP.NET MVC Framework will ship with.  In order to match the default application template use the following structure:
    1. Create a "Controller" folder under the project root and add "HomeControllerTests" class to it.  Add unit tests to cover "About" and "Index" actions
    2. Create a "Routes" folder under the project root and add "RouteTests" class to it.  Add unit tests to cover the two default routes that will come with ASP.NET MVC Framework.
  • Build your project so that the required binaries are present in the bin (note: my screen cast has this step missing and hence I get some unresolved references when I instantiate the template)
  • Go to File-->Export Template wizard and follow its easy directions.  The project template is usually created in the user's VS directory (the wizard will point you to the location).
  • Remove the template.zip from the user specific directory and move it to %Program Files%\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\Language\Test\Locale
  • Close all the instances of Visual Studio and open the command prompt (Start --> Run type cmd)
  • Navigate to the IDE folder on the command prompt (cd %Program Files%\Microsoft Visual Studio 9.0\Common7\IDE) and type devenv /setup, hit enter
  • This will take some time but should setup your newly created project template within Visual Studio .  If you now open VS 08, then in New Project dialog box you should be able to see your template show up under C#/VB-->Test directory.

Step 2: Understanding Test Project Registration: We are introducing a very easy registry based registration model for your test project templates.  Please refer the registry structure below:

image

(Fig 2: Test Framework Registry Info)

We have a new MVC key under Visual Studio 9.0 registry location as highlighted above.  As you can see above I have NUnit and VisualStudio as my available test frameworks.  This is what is showing up in the  screen shot of "Create Test Project" dialog box in Fig 1 above.  If you would like to add more test frameworks please go ahead and create one more key under 'TestProjectTemplates' key.

On the right side you see various string values, let me go ahead and explain what each one of these mean:

  • AdditionalInfo:  You can enter a URL for more information on the Test Framework here.  It is hopefully going to be used by 3rd parties who will be creating Test Project Templates.  This link shows in the Fig 1 as "AdditionalInfo" link
  • Package:  This is a pointer to the VS package that you may want to use in case you are adding UI elements or doing advanced functionality with your Test Project.  Visual Studio will be using this information to pull out localized resources when we localize MVC Test Project Template for Visual Studio
  • Path:  The Test Framework selection of VS expects that your test templates are registered with Visual Studio and are located some place under standard VS Project Templates location (i.e. %Program Files%\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\. The Path value mentioned here is actually the location under this standard VS Project Templates path. 
  • Template:  This is the actual zip file name which was created in the Step1 above.
  • TestFrameworkName: This is the name that will show up in the drop down of Fig1: above.  In order to localize the URL of AdditionalInfo or name of TestFrameworkName we will provide a special syntax like "#1209:NUnit".  This will indicate to Visual Studio to use resource # 1209 from the Package above for the localized string but if nothing is available then use the default "NUnit".

Also one point to note over here is that VS Test Framework selection system will create a test project for the same language as your primary MVC Application Project. The same registry strings that we just discussed above can be replicated at the top node (e.g. 'VisualStudio') that I have highlighted in the Fig 2 above.  I would recommend having that replicated as it allows Visual Studio to fall back on this template in case your primary MVC Application is of languages  like 'IronPython' etc.  In nutshell that is the default template for that particular test framework within VS.

Summary: On completing the steps above, when you go to File--> New Project --> Language --> Web and try to create a new "ASP.NET MVC Web Application" project then the dialog box presented in Fig1: will show up with your newly registered Test Framework in the drop down. 

Hope this will get you unit testing your projects more and more...!!

Vishal R. Joshi | Program Manager | Visual Studio Web Developer