Wednesday, November 09, 2005

ASP.NET 2.0 Web Deployment Projects are here

Microsoft's Brian Goldfarb, Product Manager, Web Platform and Tools recently announced that ASP.NET 2.0 Web Deployment Projects are here :).

We heard a lot of feedback about the build process and new project system for managing more complex sites, build strategies, and deployment. As a result, we've been working on a add-in for Visual Studio 2005 that enhances the built in support for MSBuild and the general Web build model. The code is in Beta, but you can begin using it immediately.

Download the Bits
Read this article to get started ( seriously :)!)
Provide feedback at the forum / get your questions answered

(You can also see a walkthrough and description of it on Scott Guthrie's blog.)


From the site:
Visual Studio 2005 Web Deployment Projects provide additional functionality for building and deploying Web site applications that you create in ASP.NET 2.0 and Visual Studio 2005. This add-in includes a new tool that enables you to merge the assemblies created during ASP.NET 2.0 precompilation, and it provides a comprehensive UI within Visual Studio 2005 for managing build configurations, merging, and pre-build and post-build task using MSBuild.

Monday, September 26, 2005

ASP.NET 2 Tip: How to Store Non-Deployed Filed in Web Projects

Scott Guthrie explains on his blog on how to deal with non-deployed files in your ASP.NET 2 Web Projects.

How to Store Non-Deployed Files in Web Projects

A final scenario that a few people have asked me about is how they might be able to store within Web projects, and under source control, files that can be used during development time (for example, design docs written in Microsoft Word or Microsoft Visio, or Adobe Photoshop .psd files for layered images), but that will be automatically excluded from any deployment or publishing steps.

A Technique to Make This Experience Much Better

Microsoft ASP.NET 2.0 supports the concept of "build providers." These are classes that implement the System.Web.Compilation.BuildProvider base class contract, and that can participate in build operations, both in Visual Studio 2005 at development-time, and in ASP.NET at runtime. Developers are free to build and implement their own BuildProviders, in order to add their own custom semantics to processing files within ASP.NET. For example, you could create an .orm file extension for files that contain XML, to declaratively represent an OR mapping database relationship. Your provider could then dynamically generate strongly typed classes that were included in the Web anytime one of these files was added to the project—and you would get both intellisense within Visual Studio 2005 at design-time, and also full runtime support.

One of the built-in build providers in ASP.NET 2.0 is called the IgnoreFileBuildProvider. Its semantics are such that it ignores whatever file extension is mapped to it, and that it also automatically prevents that file from being deployed during a publish Web operation or a compilation operation.

Developers can then use this feature to add extensions to the web.config file in their local Web projects, and effectively block any file-type they want from being deployed by Visual Studio. For example, if I wanted to prevent all .doc (Word), .psd (Photoshop), and .vsd (Visio) files from ever being deployed, I would add the following section to my web.config file.

type="System.Web.Compilation.IgnoreFileBuildProvider" />
type="System.Web.Compilation.IgnoreFileBuildProvider" />
type="System.Web.Compilation.IgnoreFileBuildProvider" />

I am then free to add and check in these file-types anywhere in my project if I want to do so—and they can be used/modified/accessed throughout the development lifecycle—but they will be excluded anytime a build is produced.

Tuesday, August 23, 2005

Security Guidelines for ASP.NET v2

For those of you who do web application development, are intersted in the forthcoming ASP.NET v2 and related security best practices, may want to check out Security Guidelines: ASP.NET 2.0 published by folks from Microsoft's Patterns and Practices group. They did a fantastic job.

VS 2005 Web Project System: What Is It And Why Did We Do It?

Scott Guthrie has posted a response to some of the issues raised by other bloggers about the new web project system in Visual Studio 2005 by explaining how it works and the reasons behind the decisions they made in creating it.

Read Scott Guthrie's Blog.

.NET vs. Java Security

Two students from the University of Virginia have written a detailed paper comparing security features of the Java VM and the .NET CLR. The paper covers reported vulnerabilities, code security, verification, and exception handling.