Mono: A Developer's Notebook

Errata for Mono: A Developer's Notebook

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update



Version Location Description Submitted By Date Submitted Date Corrected
Printed
Page 1
2nd Paragraph,the last two words of this paragraph;

The text "...you move on toChapter 4." NOW READS: "... you move on to Chapter 4."

Anonymous    Sep 01, 2004
Printed
Page 2
First paragraph, under the section labelled "Linux"

The mono homepage HAS CHANGED to http://www.mono-project.com.

Anonymous    Sep 01, 2004
Printed
Page 9

The screenshot of MonoDevelop shows templates no longer available in the MonoDevelop application.

Anonymous   
Printed
Page 22
Say "Hello" to the World, 3rd sentence

Choosing from among the Choosing from among the panoply of Mono IDEs and installing your IDE of choice is discussed in Chapter 1. Should be: Choosing from among the panoply of Mono IDEs and installing your IDE of choice is discussed in Chapter 1.

Anonymous   
Printed
Page 24
Example 2-2

Before the code listing there is "Example 2-2 shows Hello.cs with the fully specified Hello.World namespace [...]" but the code is missing the following: namespace Hello.World { [...] }

Anonymous   
Printed
Page 25
Example after 1st paragraph

The first part of the example is missing a closing brace. namespace OReilly { namespace DevelopersNotebook { public class HelloWorld { ... } } should have an extra } at the end: namespace OReilly { namespace DevelopersNotebook { public class HelloWorld { ... } } }

Anonymous   
Printed
Page 32
in the source code of about boxing is a copying operation

In the code comments, it says that j is a copy of of i, yet it looks like j is a copy of o.

Anonymous   
Printed
Page 35
Last Paragraph

"You instantiate an exception just you would..." should be: "You instantiate an exception just as you would..."

Anonymous   
Printed
Page 39
1st paragraph

There is no while loop in the code shown on page 37.

Note from the Author or Editor:
Page 39, paragraph 1 should read as follows: Having handled all the events, we set the FileSystemWatcher's EnableRaisingEvents flag to true to start it. The Console.ReadLine() method will wait for the return key to be pressed on the console, allowing the program to handle events as they happen.

Anonymous   
Printed
Page 40
First paragraph

The text states that XmlSerializer uses the SerializableAttribute at determine how to serialize an object to XML. This is incorrect. The last sentence of the paragraph should read: Instead, the serialization formatters in System.Runtime.Serialization use reflection to look inside a serializable class and determine how to serialize it. Also, on page 39, the second sentence of the last paragraph should be changed to the following: System.SerializableAttribute is one attribute that shows up quite often; it's used to mark a class which can be serialized, which is necessary for remoting (see "Access Remote Objects" in Chapter 7).

Anonymous   
Printed
Page 48
2nd paragraph

"gacutil.exe is the tool responsible for installing assemblies in the GAC.s" should be: "gacutil.exe is the tool responsible for installing assemblies in the GAC."

Anonymous   
Printed
Page 48
1st paragraph

AssemblykeyFile should read: AssemblyKeyFile

Note from the Author or Editor:
Note: that should be a capital K

Anonymous   
Printed
Page 52
Line 7 of Syscall.cs

Syscall.chmod(file, (FileMode)0x777); should be: Syscall.chmod(file, (FileMode)0x1ff); lower in the page; ...changes it permissions to 0x777 (rwxrwxrwx), full read.... should be: ...changes it permissions to 0x1ff (0777 octal), full read....

Anonymous   
Printed
Page 59
Program output

In the program listing of Example 3-5 the lines: Console.WriteLine(variables.GetType( )); Console.WriteLine(variableNames.GetType( )); Those two lines HAVE BEEN DELETED.

Anonymous    Sep 01, 2004
Printed
Page 69
Output listening

According to example 3-9, the following is wrong "started on" and "at" it should have been: "on" and "started at"

Anonymous   
Printed
Page 76
2nd paragraph

Since writing the book, the name of the NUnit library has changed to 'nunit.framework', not 'NUnit.Framework'. The new compile line should read: $ mcs -target:library -r:nunit.framework MathTest.cs

Anonymous   
Printed
Page 76
3rd sidebar

The sidebar should appear inline in the text, between the last para on p 76 and the first para on p 77.

Anonymous   
Printed
Page 77
sidebar

The sidebar should appear inline in the text, before the first para on the page.

Anonymous   
Printed
Page 96
Last paragraph

The compiler directive shown as: mcs Main.cs -pkg:gtk-sharp -resource:monkey.png,monkey.png should be: mcs Main.cs -pkg:gtk-sharp -resource:monkey.png,monkey.png (remove the )

Anonymous   
Printed
Page 135
2nd paragraph

The second occurrence of the exception System.InvalidCastException should actually read GConf.NoSuchKeyException

Anonymous   
Printed
Page 153
first code block

args.RetVal = (true|false) causes a crash, it should be args.RetVal = (1|0) (using Mono 1.0.1). Furhtermore, when returning true (1) the link is NOT opened but when returning false (0). AUTHOR: This is a bug found in gecko-sharp 0.5 (and maybe earlier versions) and will be fixed sooner or later to match watch the book says.

Anonymous   
Printed
Page 160
Code sample following second paragraph

The command "xgettext -o monodn-intl.potMain.cs" is missing a space and should read "xgettext -o monodn-intl.pot Main.cs"

Anonymous   
Printed
Page 163
Line 1 of Catalog.GetString (String s)

IntPtr inptr = Marshal.StringToHGloablAuto (s); should be: IntPtr inptr = Marshal.StringToHGlobalAuto (s);

Anonymous   
Printed
Page 171
4th para under "How it works"

The text of the entire paragraph previously appeared in boldface and HAS BEEN REFORMATTED as plain text.

Anonymous    Sep 01, 2004
Printed
Page 178
Just before "Where to learn more"

"a XmlNode" should be "an XmlNode"

Anonymous   
Printed
Page 192
4th paragraph

The 3rd paragraph describes "runtime serialization" as a way to serialize an object, possibly to a binary format, and "XML serialization", as a way to serialize an object to an arbitrary XML format. The 4th paragraph says: "In this lab, we show you how to use runtime serialziation to serialize and object instance to XML..." This sentence has two issues: 1: The example uses XML serialization, not runtime serialization. The example uses System.Xml.Serialization; runtime serialization would use System.Runtime.Serialization.Formatters.Soap (binary and SOAP being the current runtime serializers). 2: "...to serialize and object instance..." should to "...to serialize an object instance...". That is, s/and/an/.

Note from the Author or Editor:
On page 192, paragraph 4 should read as follows: In this lab, we show you how to use XML serialization to serialize an object instance to XML, and to deserialize XML back into an object instance.

Anonymous   
Printed
Page 206
command line input around the middle of the page

The command line had an extraneous whitespace character after -out:bin/, and NOW READS: $ mcs -t:library -r:System.Web.Services -out:bin/DirectoryLister.dll DirectoryLister.cs

Anonymous    Sep 01, 2004