Andrej Tozon's blog

In the Attic


The books are here

Every now and then I browse through my Amazon wish list and pick a few items I’d like to have. Three books made it to the latest package that arrived earlier this week: 

·        Steve McConnell's Code Complete (2nd ed.),  After reading so many positive reviews about this book I decided on getting a copy

·        Roger Zelazny’s Lord of Light, a classic Sci-Fi novel, was also recommended to me

·        Holy Blood, Holy Grail (Baigent, Lincoln, Leigh). This one has been on my list for quite some time now. I’ve first heard the story behind Rennes-Le-Chateau about 5 years ago and took immediate interest in it. This book is considered one of the best on the subject

As a developer, I naturally started with Code Complete :). To find out more about this book, go see this interview with the author on MSDN TV. 

VS.NET: File-copying projects and referencing all of them from the same project

I've been asked this question a few times in a last couple of months.

Sometimes you want to shorten the time needed to start up a new project for your component by simply copying the files of an existing, possibly similar project you worked on before. While this solution will generally work, you will encounter some problems when referencing both components (the original and the copy) from the same project in the solution. Sure, you've changed the name of the copied project, all of the files, possibly even the namespace your component resides in. But when you try to add a reference to the new component from the main project, already referencing the original component, nothing happens. There's no warning, message box or anything, and your new component just won't show in the references list.

You check the new project's properties, change the assembly name if you haven't done that already [funny thing - if two or more projects in your solution have the same assembly name assigned to them, the solution will compile without any warning, but you will be stuck with only one executable/dll - the one which compiled last].
Now, all project properties seem alright, but VS still refuses to add the new reference. It's because when you copied the project, you also copied its GUID, an unique identifier, by which, evidently, VS keeps track of the projects.

So, in order to get this thing done, you have to create a new GUID and assign it to the new component project. I haven't found any easier solution, so this is what I would do:

1. Generate new GUID: from the VS Tools menu, select item Create GUID - this will bring up a new window, which will help you create a new GUID for your project. In the GUID Format section select the option 4. Registry format. The resulting GUID will be shown in the result section of the window. You can generate new GUID by hitting the New GUID button. When you're fine with the generated number, click the Copy button, which will copy the number to the clipboard.

2. Paste the GUID in the project file: in your favorite text/XML editor, open the .csproj file, which resides in your new project's folder. Find the text ProjectGuid = "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" and replace existing GUID with new by pasting it from the clipboard.

3. Save the file and reopen the solution in VS.

I haven't found any better way to do this but it gives me an idea for a VS plug-in...

Want to use Messenger services in your application?

Check out the dotMSN Class Library, written in C#, which lets you use the MSN Messenger Service in your own applications. Provided example shows you its basic features, which include (taken from the site):

·        Connecting / disconnecting with the MSN Messenger service
MSNP8 protocol

·        File transfer

·        Fires events when contact go online or offline or change status

·        Automatically synchronizes contact lists and keeps contact data up to date

·        Create/Remove contactgroups

·        Convenient enumerating through contacts in different lists

·        Request or receive conversations

·        Multiple users in one conversation

·        Send messages

·        Received messages include information about font, charset, color, decoration

·        Privacy settings of the contactlist owner

·        Provides hotmail inbox status

·        Error handling

Related: Microsoft releases beta version of web based MSN Messenger – runs in your web browser, no need for client install… Cool!

Microsoft exam 70-301

Microsoft has announced new exam, which targets developers, who use Microsoft Solutions Framework 3.0, is going to beta testing in September 2004. Exam 70-301, titled Managing, Organizing, and Delivering IT Projects by Using the Microsoft Solutions Framework 3.0, will count as an elective to both MCSD (.NET) and MCSE (Windows Server 2003), and passing it would also get you the MCP status.

To pass the exam, you should have solid experience with managing and delivering IT projects, using MSF v3. The requirements cover activities through the whole project lifespan, from organizing the team to deployment of the solution. Recommended are the following courses: 1846: Microsoft Solutions Framework Essentials and 2710: Analyzing Requirements and Defining Microsoft .NET Solution Architectures

Now, if you ever thought of getting to know the MSF in more detail, I think this exam will give you a great opportunity to test your knowledge on the subject and a chance for further study. I for sure will give it a try :)

.NET Rocks!

About a decade ago, there was a Visual Basic site, called Carl & Gary's VB Page, which was my regular stop for all my VB projects, information and programming research I was doing back then. Just a couple of months ago I (finally) took a closer look at the .NET Rocks!, to realize, that Carl, the host of this show, is actually THE Carl, who was running that VB page. That site simply rocked. As does the .NET Rocks!, the internet audio show, hosted by Carl and Rory :), originally targeted for .NET developers, but it is so much more. Currently, they are giving away the Toshiba Portégé® M200 Tablet PC, so hurry to enter and win! :)

VS 2005 Beta 1

Yesterday the net started buzzing... Visual Studio 2005 Beta 1 is released... Express family of VS 2005 products is introduced... MSDN Product Feedback Center is launched... All this revealed on TechEd Europe in Amsterdam.
The Express products are, as it says, »lightweight, easy-to-use, easy-to-learn tools for hobbyists, enthusiasts, and novices who want to build dynamic Windows applications and Web sites.« They are supposedly going to sell very cheap. The family includes VB, C#, C++, J#, WebDev and SQL Server express products.

While waiting to get my hands on its big brother, I gave a C# Express a try. It looks nice, feels good and the included RSS ScreenSaver Starter Kit really puts an extra touch to the package.