Skip to main content

Building help Files for your C#/.NET Code

1- Set your Project Setting to Generate XML as shown below
2- Follow the instructions on the following link http://www.ewoodruff.us/shfbdocs/Index.aspx?topic=html/8c0c97d0-c968-4c15-9fe9-e8f3a443c50a.htm to download Sandcastle and all of its prerequisites. Mainly, for you, it should boil down to 2 items:

A- Down load the SandCastle SDK http://sandcastle.codeplex.com/
B- Download SandCastle Help file Builder http://shfb.codeplex.com/
Launch the Sandcastle Help file Builder applications. Add your Assemblies using the File Add Assembly menu and then just press the Build button. Note that building help files takes some time to watch for the detailed progress and be patient. The resultant is a .chm file that you can browse through and search through for your code classes/methods/etc.

Comments

  1. Note that when you turn on the XML checkbox in your .csproj file, you may get lots of warnings if you have any public method or member that does not have the ///summary (even if it was empty comment summary)

    ReplyDelete

Post a Comment

Popular posts from this blog

Visual Studio 2010 was released yesterday

Unfortunately, I have just checked the MSDNAA site and they still do not have the release version of Visual Studio 2010. They only have an old Beta2. I would recommend that if you do not have access to Visual Studio 2010 through other means, that you keep an eye on the MSDNAA web site and see if VS2010 becomes available. If and when it becomes available, I would not recommend that you install it while you are finishing CS 503. Download it and save it somewhere and when the course is done, you can knock yourself out :)

Wave Undo

To implement Undo, the simplest way is to use a MemoryStream object in your WaveDisplayForm (MDI Child) and simply serialize the Wave (which should be marked as [Serializable] to the stream and hold on to the stream object. private MemoryStream _undoStream = new MemoryStream(); private bool _canUndo = false; public void SaveForUndo() {      BinaryFormatter bf = new BinaryFormatter();      bf.Serialize(_undoStream, wave);      _undoStream.Flush();      // This rewinds the stream so that when it is used for deserialization, it's ready to use,     // otherwise, the deserialization will start deserializing from the end of the stream and would fail.      _undoStream.Position = 0;      _canUndo = true; }   public void Undo() {      BinaryFormatter bf = new BinaryFormatter();      ...

FileSystemWatcher

FileSystemWatcher fires events on a different thread than the thread that it was registered on (mainly the UI thread). If you attempt to update a UI element (such as the FileView's treeview) you will get a "cross-thread..." exception as I showed in class. To avoid this problem, simply Set the "SynchronizingObject" property of the FileSystemWatcher to the FileView (i.e. a UI object in the Main thread) , this will force the FileSystemWatcher event callback handler to be called on the Main UI thread. FileSystemWatcher fw = new FileSystemWatcher(path, "*.wav"); fw.EnableRaisingEvents = true; fw.NotifyFilter = NotifyFilters.FileName; fw.SynchronizingObject = this;