in

Redwerb

Tools, tips, and techniques for software developers.

Redwerb

Tools, tips, and techniques for software developers.

July 2008 - Posts

  • Introducing Visual Studio Project Zipper Shell Extension

    Download VS Project Zipper

    I am releasing a beta version of VSProjectZipper. This tool will allow you to right-click on a Visual Studio project or solution in Windows Explorer and zip it up and, if desired, email it to somebody.

    VSProjectZipperScreenshot

    Zipping a project works exactly as you would expect. VSProjectZipper reads the project file and creates a zip file that mirrors the directory structure for the project.

    However, if you zip up a solution, VSProjectZipper will create it's own directory structure. Basically the sln file is in the root of the zip file and each project has it's own directory. Solution items are also included and placed into directories. Just to reiterate, it doesn't matter where projects or solution items are on the local file system, the zip file will create it's own directory structure for them.

    The installer also adds a shortcut to your start menu to configure it. There are a number of options that you can change.

    VSProjectZipperConfigScreenshot

    Before you get too excited, you should remember that this is just a beta and there are many known (and I'm sure unknown) issues. Here are the issues that I know of (at least remember at the time of writing this :):

    • Limited testing. I only tested on a single, very simple VB project and a moderately complex C# project and solution as well as a single, simple installer project.
    • Project references are not copied. If you reference an assembly, that assembly is not included in the zip file. This could give compiler errors in the extracted project.
    • Hint paths are not removed or modified. This could also give compiler errors on the extracted project.
    • Test projects can have compiler errors upon extraction. If an accessor is created for a MS test project, you will get compiler errors.

    I'm sure there's plenty more errors as well, but it seems to have worked ok for my BizArk project. I started getting bored with this project so I figured I had better release it before I decided to stop working on it.

  • BizArk updated to 1.0.1

    I've made a number of updates to the BizArk framework for another project that I'm also releasing today (stay tuned).

    New features:

    • New API for SharpZipLib. I didn't like how you had to work with streams and how the zip directory structure was built, so I created an API that hopefully makes it easier.
    • Email API. I created a simple API for sending email using the MAPI32 MAPISendMail function (no need to allocate/deallocate memory!). Supports To, CC, BCC, attachments, subject, body, and either direct send using the users email client or display the users email client.

    Updated components:

    • You can now save and restore a CmdLineObject from an xml file.
    • CmdLineObject can be displayed in a PropertyGrid. Base properties are not browsable.
    • Added ConvertEx.IsEmpty. This method determines if a value is empty. A value is empty if it is null, DBNull, or matches a MinValue, MaxValue, or Empty static field on the class (except for char which checks for '\0'. You can register empty values for any type by calling ConvertEx.RegisterEmptyValue.
    • Added ArrayExt.RemoveEmpties. This method removes empty elements in an array based on ConvertEx.IsEmpty.
    • Many other changes as well...
Copyright Brian Brewder, 2007. All rights reserved.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems