Skip to Content
Visual Studio Hacks
book

Visual Studio Hacks

by James Avery
March 2005
Intermediate to advanced
304 pages
19h 23m
English
O'Reilly Media, Inc.
Content preview from Visual Studio Hacks
184
|
Chapter 6, Speed Hacks
#47 Build a Custom Tool
HACK
format and then place it in the Guid attribute on your class. Here is what
your code should now look like:
using System;
using System.Runtime.InteropServices;
using CustomToolGenerator;
namespace CustomToolProject
{
[Guid("8696CA73-4FD7-4e5f-B267-48C9F3CB8F07")]
public class CustomGenerator : BaseCodeGeneratorWithSite
{
protected override byte[ ] GenerateCode(string file,
string contents)
{
//Code from the preceding example goes here
}
}
}
Add the Tool to Visual Studio
After you have written the code to generate the code for your custom tool,
the next step is to register your custom tool with Visual Studio. The first
thing to do is register your class as a COM component using the regasm
tool. Here are the steps to register your class:
1. Run the Visual Studio Command Prompt (Start
➝ Visual Studio 2003 ➝
Visual Studio .NET Tools ➝ Visual Studio .NET 2003 Command
Prompt).
2. Navigate to the directory where your .dll file is located (most likely Your
Project/bin/debug).
3. Type the following command:
regasm /codebase your_assembly.dll.
4. Next, you will get a warning if your tool is not signed with a strong
name. You can ignore this for now (although signing your tool before
distributing it is recommended).
Now that your tool is registered, you need to tell Visual Studio where and
what the tool is. This is done through the registry. You will need to
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Mastering Visual Studio .NET

Mastering Visual Studio .NET

Chris Sells, Ian Griffiths, Jon Flanders
C# 4.0 Unleashed

C# 4.0 Unleashed

Bart De Smet
Programming in the .NET Environment

Programming in the .NET Environment

Damien Watkins, Mark Hammond, Brad Abrams

Publisher Resources

ISBN: 0596008473Errata Page