We try to keep our books accurate, but sometimes mistakes creep in. This page lists the errors submitted by our astute readers. If you've found a new error, please submit it.

The latest version of the book is P1.1, released almost 4 years ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

Key: Typo Tech. Error Suggestion Not a problem Next edition

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:  

(To find out what version you have, look at the copyright page, a few pages in from the front of the book. If it says (say) 'Second Printing', then here it'll be P2.0. If there are interim PDF releases in that printing, they'll be 2.1, 2.2, and so on.)

PDF Paper Description Found in Fixed in
CUOBn fzBZf

#47672: That's way the bseetst answer so far!--GZbdnRzgk

P1.1
01-Oct-11
8
#45374: It should probably be made more explicit that if using the Express Editions of VS, ReSharper cannot be installed. This is because the Express ...more...
P1.0
16-Oct-10
24
#45367: When explaining the new NUnit assertion format, the author makes a subtle, yet important semantic error. The new Assert.That style of asserti...more...
P1.0
14-Oct-10
24

#46077: In the Assert.That(...

SayHello() is static in Welcomer, and so doesn't need a new instance.--Mickey Puri

P1.0
22-Dec-10
64

#46101: We assign a model to a list of Topics...

Should be

We assign a list of Topics to a model--Mickey Puri

P1.1
23-Dec-10
96
#46153: On page 96, it says to write a test covering Create() to restrict to logged in users only. However by having Authorise on the class (as we alr...more...
P1.1
30-Dec-10
96
#47784: In TodoController: [HttpPost] public ActionResult Create(Todo todo) { try { CreateTodo(newTodo); return RedirectToAction("Index" ); ...more...
P1.1
18-Oct-11
97
#46348: The figure on that page suggests that we have to implement the Equals() function for the Topic class. But there's another implementation of Eq...more...
P1.1
03-Feb-11
97
#46156: Page 97, Sec 5.3, Have brought in the MVC Contrib dll and tried out the Test, but it fails to assert. Think there is something missing in this...more...
P1.0
30-Dec-10
106
#46356: "5.2 Logging In We will apply some of this theory back into our code. Every web application has a login page, unless you have a central auth...more...
P1.1
04-Feb-11
107
#48224: For PDF Version: 2010-06-28 Actual Sentence: We gave it the type ICustomerAttributeProvider... Should be: We gave it the type ICustomA...more...
P1.1
06-Dec-11
109

#46171: I found the test on page 109 worked fine for me. --Mickey Puri

P1.0
02-Jan-11
113
#46170: It says that changing Mime type from application/octet-stream to image/jpg would render it as an image. In fact it appears to make no differen...more...
P1.0
02-Jan-11
133
#46187: in Should_Display_Errors_When_Todo_Is_Not_Valid() Need to create a todoController to access the Create method. so needs to be new todoContr...more...
P1.1
06-Jan-11
136

#46188: To keep functionality same, on delete column need .Attributes(onclick => "return confirm('Are you sure you want to delete this?');")--Mickey Puri

P1.1
06-Jan-11
144

#46693: Last paragraph: "On line 22 we select the element..."
Should be line 15.--John Greep

P1.0
28-Mar-11
151

#46209: The code for CreateElements is the old code copied in, and not the required code for the partial.--Mickey Puri

P1.1
09-Jan-11
167

#46211: Code on page doesn't match that in solution. e.g class needs to be sealed, the Id maps to Id not title, etc.--Mickey Puri

P1.1
10-Jan-11
172

#46220: Sec 8.5, line 8, parameter should be originalTodo.Id, as that defines the key--Mickey Puri

P1.0
12-Jan-11
173

#46219: ..test requires a new method, GetAll()... - should be Get()--Mickey Puri

P1.1
12-Jan-11
175

#49402: instead:
<% Html.RenderPartial("CreateElements" ); %>

should be:
<% Html.RenderPartial("CreateElements", new GetOrganized.Models.Todo()); %> --Sebastian Kozlowski

P1.1
04-Jun-12
179

#46226: ... then OpenSession() is called... it should read OpenCurrent() is called.--Mickey Puri

P1.1
13-Jan-11
185

#46233: ... every time it is created, whereas ... : created should be "called"--Mickey Puri

P1.1
14-Jan-11