Here are steps for building a project that will compile and run, from the final zip file in the Microsoft download, 20039999Final Code. This will either come down as a zip file or unzip onto your hard drive as a directory, depending on how the download site provides my files. Either way, you want the 20039999Final Code files. Here are your steps:
I originally planned not to provide all the files for the app, because the idea of the book is to follow along as we program, thinking about what we're doing that makes sense for you, watching our good moves and our bad ones. I was surely wrong about that, and should have planned all along to provide at least the final version in an easy to build form.
The files provided on the Companion site include all files that were ever in the application, with chronological versions for most every day of the project. That's intended to reflect the forward flow of the project, adding things, changing things, as we go along. And it works just fine when one adds and removes files going along, but it doesn't work well when you just try to add them all to an empty project as a blob. Here's what should be in the Visual Studio project for the final build, and what's out:
Here are the files that are part of the project at the final build:
CustomerTest.cs
InputCommand.cs
InputCommandTest.cs
InsertAction.cs
ITestTextBox.cs
IUndoRestore.cs
LittleTests.cs
MockTextBox.cs
SingleCharacterSnapshot.cs
TestableTextBox.cs (and the corresponding .resx file)
TestRegex.cs
TestScroll.cs
TestTextBox.cs
TestTextModel.cs
TextModel.cs
XMLNotepad.cs (and the corresponding .resx file)
The following files are in the directory, but not part of the Visual Studio project definition. The .test files are customer tests. They are not part of the Visual Studio project but they are supposed to be in the main directory so that the CustomerTest.cs file can find them.
fileInput.test
insertAfterPara.test
insertOL.test
insertPara.test
insertPre.test
insertUL.test
noextralines.test
paraAfterPara.test
saveload.test
sect1.test
trivial.test
undo.test
undosection.test
There are other files which are left in the directory for historical reasons, but that are not in the current project definition:
Class1.cs (left over from the original project creation?)
fileInput.txt (left over, ignore)
hello.txt (ditto)
Notepad.cs (obsoleted superclass)
OptimizedTextModel.cs (obsoleted undo attempt)
TextManipulator.cs (obsoleted experiment)
TestManipulatorTest.cs
UndoAnalyzer.cs (obsoleted undo)
UndoAnalyzerTest.cs
ve-*.tmp (no idea, some VS files?)
If you were trying to build the app from the source, rather than follow along in the book, I apologize for any inconvenience caused. Microsoft and I will update the Companion site ASAP and if you want a zipped-up directory of the project as it is on my system (Visual Studio 2003), I'll be glad to send it to you.
Thanks for your patience, and I hope you enjoy the book.