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.
Version |
Location |
Description |
Submitted By |
Date submitted |
Date corrected |
Printed |
Page 43
Last paragraph |
Last full sentence on the page reads
"Event receivers can handle these events but running a method, known as an event handler, when the event occurs."
It should read
"Event receivers can handle these events by running a method, known as an event handler, when the event occurs."
"but" should be "by".
|
Wes |
Oct 26, 2010 |
Feb 01, 2011 |
PDF |
Page 253
Approx 7th Paragraph |
Miss spelling of Trimming (shown as Traimming)
|
Mike HIngley |
Aug 06, 2010 |
Feb 01, 2011 |
Printed |
Page CD-ROM
|
Readiness Review Assessment question contains duplicate answers
On the Readiness Review assessment, one of the questions begins:
"You are writing an application that processes phone numbers that users have typed as strings."
The correct answer is repeated twice but only one is scored as correct. This answer is correct:
static string ReformatPhone(string s)
{
Match m = Regex.Match(s,
@"^(?(d{3}))?[s-]?(d{3})-?(d{4})$");
return String.Format("({0}) {1}-{2}",
m.Groups[1], m.Groups[2], m.Groups[3]);
}
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page CD-ROM
|
Readiness Review correct answer marked as incorrect
On the Readiness Review assessment, one of the questions reads:
"Which of the following classes provides asymmetric digital signatures?"
The correct answers should be:
DSACryptoServiceProvider
RSACryptoServiceProvider
The explanation text for RSACryptoServiceProvider should be changed to reflect that it is a correct answer.
Change:
"RSACryptoServiceProvider provides asymmetric encryption; it does not provide digital signatures."
To:
"RSACryptoServiceProvider provides asymmetric digital signatures."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page CD-ROM
|
Incorrect answer marked correct in practice test question
On the Readiness Review assessment, one of the questions reads:
"You need to modify Microsoft Windows access control security for a named mutex."
The answer marked correct contains one incorrect selection.
Change:
"Create an instance of the Mutex class
Create an instance of the MutexSecurityClass using Mutex.GetAccessControl
Add access rules to the Mutex class
Call Mutex.SetAccessControl()"
To:
"Create an instance of the Mutex class
Create an instance of the MutexSecurity class using Mutex.GetAccessControl
Add access rules to the MutexSecurity class
Call Mutex.SetAccessControl()"
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 27
|
Incorrect location of project file
On page 27, Step 1 under Exercise 3 refers to an incorrect location for the ViewFile project.
Change:
"1. Navigate to the \Chapter01Lesson1Exercise1Partial folder and open either the C# version or the Visual Basic .NET version of the ViewFile project."
To:
"1. Navigate to the \Chapter01Lesson2Exercise3Partial folder and open either the C# version or the Visual Basic .NET version of the ViewFile project."
|
Microsoft Press |
Jul 13, 2010 |
Feb 01, 2011 |
Printed |
Page 59
|
Incorrect location of project file
On page 59, the second sentence of the "Lab: Safely Performing Conversions" section refers to a folder that does not exist and shoult be removed.
The sentence that should be removed reads:
"Navigate to the \Chapter01Lesson1Exercise1Partial folder."
|
Microsoft Press |
Jul 13, 2010 |
Feb 01, 2011 |
Printed |
Page 145
|
"(but only strings as keys)" should be removed
On page 145, the second paragraph is incorrect.
Change:
"While SortedList can take an object of any type as its value (but only strings as keys), the StringDictionary class (in the System.Collections.Specialized namespace) provides similar functionality, without the automatic sorting, and requires both the keys and the values to be strings."
To:
"While SortedList can take an object of any type as its value, the StringDictionary class (in the System.Collections.Specialized namespace) provides similar functionality, without the automatic sorting, and requires both the keys and the values to be strings."
|
Microsoft Press |
Jul 13, 2010 |
Feb 01, 2011 |
Printed |
Page 288
|
SynLock should be SyncLock
On page 288, the last sentence of the first paragraph and the first sentence of the second paragraph of the Monitor section refers to SynLock rather than SyncLock.
Change:
"In C#, use the keyword lock to specify the object to monitor. In Visual Basic, use the keyword SynLock.
You can fix the console application in the previous section by using the Monitor class and the lock or SynLock keywords."
To:
"In C#, use the keyword lock to specify the object to monitor. In Visual Basic, use the keyword SyncLock.
You can fix the console application in the previous section by using the Monitor class and the lock or SyncLock keywords."
|
Microsoft Press |
Jul 13, 2010 |
Feb 01, 2011 |
Printed |
Page 333
|
Internet should be Intranet
On page 333, the second line of the first code sample is incorrect.
Change:
// Create an Evidence object for the Internet zoneTo:
// Create an Evidence object for the Intranet zone
|
Microsoft Press |
Jul 13, 2010 |
Feb 01, 2011 |
Printed |
Page 480-481
|
Incorrect hyphens used in Class names
On pages 480-481, several Class names in Table 11-8 are incorrect.
Change:
"IsolatedStorageFile-Permission"
To:
"IsolatedStorageFilePermission"
Change:
"PerformanceCounter-Permission"
To:
"PerformanceCounterPermission"
Change:
"StrongNameIdentity-Permission"
To:
"StrongNameIdentityPermission"
|
Microsoft Press |
Jul 13, 2010 |
Feb 01, 2011 |
Printed |
Page 559-560
|
C:Guest should be Guest
On pages 559 and 560, there are several references to a C:Guest folder, which should refer to Guest instead.
On page 559, in the first sentence of the "Exercise: Create a Folder with Explicit Permissions" section, change:
"In this exercise, you will write an application that creates a folder named C:Guest and grants the Guest user Read access to the folder."
To:
"In this exercise, you will write an application that creates a folder named Guest and grants the Guest user Read access to the folder."
On page 560, in the first sentence of step 6, change:
"Use Windows Explorer to view the permissions assigned to the C:Guest folder."
To:
"Use Windows Explorer to view the permissions assigned to the Guest folder."
In the first sentence of step 7, change:
"Before you can delete the C:Guest folder, you must take ownership of it."
To:
"Before you can delete the Guest folder, you must take ownership of it."
In step 8, change:
"Now use Windows Explorer to delete the C:Guest folder."
To:
"Now use Windows Explorer to delete the Guest folder."
|
Microsoft Press |
Jul 13, 2010 |
Feb 01, 2011 |
Printed |
Page 576
|
symmetric should be asymmetric
On page 576, symmetric is used in place of asymmetric in the first two bulleted items.
In the first sentence of the KeySize section, change:
"Gets or sets the size in bits of the secret key used by the symmetric algorithm."
To:
"Gets or sets the size in bits of the secret key used by the asymmetric algorithm."
In the first sentence of the LegalKeySized section, change:
"A KeySizes array that gets the key sizes that are supported by the
symmetric algorithm."
To:
"A KeySizes array that gets the key sizes that are supported by the
asymmetric algorithm."
|
Microsoft Press |
Jul 13, 2010 |
Feb 01, 2011 |
Printed |
Page 635
|
"GetMethodBase" should be "GetMethodBody"
On page 635, the first sentence in the first paragraph contains an incorrect method name.
Change:"Once you create an instance of MethodInfo, you can call MethodInfo.GetMethodBase to retrieve an instance of MethodBody."
To:
"Once you create an instance of MethodInfo, you can call MethodInfo.GetMethodBody to retrieve an instance of MethodBody."
|
Microsoft Press |
Jul 13, 2010 |
Feb 01, 2011 |
Printed |
Page 653
|
Encoding type missing from code sample
On page 653, the encoding type is missing from the second code sample.
Change:
' VB
Dim m As MailMessage = New MailMessage _
(New MailAddress("lance@contoso.com", "Lance Tucker"), _
New MailAddress("ben@contoso.com", "Ben Miller"))
// C#
MailMessage m = new MailMessage
(new MailAddress("lance@contoso.com", "Lance Tucker"),
new MailAddress("ben@contoso.com", "Ben Miller"));To:
' VB
Dim m As MailMessage = New MailMessage _
(New MailAddress("lance@contoso.com", "Lance Tucker", System.Text.Encoding.UTF8), _
New MailAddress("ben@contoso.com", "Ben Miller", System.Text.Encoding.UTF8))
// C#
MailMessage m = new MailMessage
(new MailAddress("lance@contoso.com", "Lance Tucker", System.Text.Encoding.UTF8),
new MailAddress("ben@contoso.com", "Ben Miller", System.Text.Encoding.UTF8));
|
Microsoft Press |
Jul 13, 2010 |
Feb 01, 2011 |
Printed |
Page 709
|
"abstract" should be "virtual"
On page 709, answer A of question 2 contains a reference to an incorrect method.
Change:
"A. Correct: Value types are boxed when an abstract method inherited from System.Object is called. Overriding the method avoids boxing."
To:
"A. Correct: Value types are boxed when a virtual method inherited from System.Object is called. Overriding the method avoids boxing."
|
Microsoft Press |
Jul 13, 2010 |
Feb 01, 2011 |
Printed |
Page 753
|
Incorrect should be Correct
On page 753, the explanation for answer C of question 2 indicates that it is incorrect rather than correct.
Change:
"C. Incorrect: OutAttribute indicates that the data in a field or parameter must be marshaled from a called object back to its caller. When combined
with InAttribute, this allows the caller to retrieve changes made by the method."
To:
"C. Correct: OutAttribute indicates that the data in a field or parameter must be marshaled from a called object back to its caller. When combined
with InAttribute, this allows the caller to retrieve changes made by the method."
|
Microsoft Press |
Jul 13, 2010 |
Feb 01, 2011 |
Other Digital Version |
CD-ROM
Practice Test |
The Companion CD includes an exam preparation practice test that you can install and run on your computer. When running the practice test, after clicking on "Score Test", you may receive the following error:
unanticipated error has occurred in the application.InsertLearningPlan [Microsoft OLE DB Provider for ODBC Drivers] [3604] [Microsoft][ODBC Microsoft Access Driver] The INSERT INTO statement contains the following unknown field name: RefProductFurtherInfoDescription’. Make sure you have typed the name correctly, and try the operation again.
If you encoutner this error, please click OK, and the practice test will continue. This error does not change the scoring or affect your access to the practice test.
|
Microsoft Press |
May 06, 2010 |
|
Other Digital Version |
CD-ROM
Readiness Review Assessment question |
On the Readiness Review Assessment, one of the questions reads:
"Which of the following C# code samples draws the graphic that is shown in the exhibit?"
The correct answer is repeated twice but only one is scored as correct. This answer is correct:
Bitmap bm = new Bitmap(300, 300);
Graphics g = Graphics.FromImage(bm);
Brush b = new LinearGradientBrush(new Point(1, 1), new Point(300, 300), Color.Blue, Color.White);
Point[] points = new Point[]
{new Point(1, 1),
new Point(300, 1),
new Point(300, 300),
new Point(1, 300)},
g.FillPolygon(b. points);
|
Microsoft Press |
May 06, 2010 |
|
Other Digital Version |
CD-ROM
practice exam |
In the practice exam included on the Companion CD, one of the questions does not have a correct answer.
The question begins:
"You are the system administrator at an ISP. After researching the cause of recent web server instability, you have concluded that you are hosting web applications for two separate customers that are highly unstable..."
The answer that is marked correct is a duplicate of one of the incorrect answers.
Change:
"Create a new application pool and move every customer's Web site to this pool. Select the Recycle Worker Process (In Minutes) check box and enter 10 in the associated text box."
To:
"Create two new application pools. Move each of the failing Web applications to one of the new pools."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 4
Table 1-2 |
the alias for System.DateTime is incorrect.
Change:
"System.DateTime
(Date/date)"
To:
"System.DateTime
(DateTime)"
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 48
Step 1 under Exercise 1 |
Change:
"Navigate to the \Chapter01Lesson1Exercise1Partial folder and open either the C# version or the Visual Basic version of the CreateStruct project."
To:
"Navigate to the \Chapter01Lesson3Exercise1Partial folder and open either the C# version or the Visual Basic version of the CreateStruct project."
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 80-81
first lines of the VB and C# code samples |
On page 80, change:
' VB
' Write ten integers"
To:
"' VB
' Write eleven integers
On page 81, change:
// C#
// Write ten integers"
To:
"// C#
// Write eleven integers
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 108
Table 3-5 |
Change:
"number Backreference. For example, (w)1 finds doubled characters."
To:
"number Backreference. For example, (w)1 finds doubled word characters."
Change:
"k Named backreference. For example, (?w)k finds doubled words."
To:
"k Named backreference. For example, (?w)k finds doubled word characters."
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 288
fourth sentence in the third paragraph |
"correctly" should be "directly"
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 332
first line of the last VB code |
Internet should be Intranet
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 384
last line of question 1 |
There is only one correct answer.
Remove the following text from question 1:
"(Choose all that apply.)"
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 531
second sentence of the last bullet point |
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 561
Question 2 |
Question 2 includes the answer in the question
Remove the following line from the VB code:
Directory.SetAccessControl(dir, ds)Remove the following line from the C# code:
Directory.SetAccessControl(dir, ds);
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 580
second sentence of the second bullet point |
"encryption" should be "decryption"
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 637
last sentence of the first paragraph |
"Assembly" should be "Application"
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 699
answer B of question 1 |
"CultureAndRegionBuilderInfo" should be "CultureAndRegionInfoBuilder"
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 745-746
Answer numbering |
The answer marked 2 is a duplicate of answer 1 on page 744. This makes the remaining numbering of the questions inconsistent with the number of the questions in Chapter 11.
Remove the following answer text and renumber the remaining answers from 3, 4, and 5 to 2, 3, and 4 respectively:
"2. Correct Answer: D
A. Incorrect: SecurityAction.Demand instructs the runtime to throw an exception if the caller and all callers higher in the stack lack the specified permission.
However, SecurityAction.Demand must be used imperatively, and the question describes a need for declarative security.
B. Incorrect: SecurityAction.Deny causes the runtime to reduce the method’s access by removing the specified permission.
C. Incorrect: SecurityAction.Assert instructs the runtime to ignore the fact that callers might not have the specified permission.
D. Correct: SecurityAction.RequestMinimum is used for checking permissions declaratively. If the caller lacks the privilege, the runtime throws an exception."
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 759
explanation for answers A, B, and C |
"CultureAndRegionBuilderInfo" should be "CultureAndRegionInfoBuilder"update a RegionInfo instance directly. Instead, create an instance of CultureInfoRegionBuilderInfo and then register it. After registering it, you can create a new RegionInfo for your custom region."
To:
"A. Incorrect: You cannot update a CultureInfo instance directly. Instead, create an instance of CultureAndRegionInfoBuilder and then register it. After registering it, you can create a new CultureInfo for your custom culture.
B. Correct: You can create an instance of CultureAndRegionInfoBuilder and then copy settings from the zh-CN culture. After making the changes you need, you can call CultureAndRegionInfoBuilder.Register to add the culture.
C. Incorrect: You cannot update a RegionInfo instance directly. Instead, create an instance of CultureAndRegionInfoBuilder and then register it. After registering it, you can create a new RegionInfo for your custom region."
|
Microsoft Press |
May 06, 2010 |
Feb 01, 2011 |
Printed |
Page 27
Exercise 3, step 1 |
Pointing at the wrong directory, Lesson1\Exercise1 instead of Lesson2\Exercise3
Navigate to the \<InstallHome>\Chapter01\Lesson1\Exercise1\Partial folder
Should read: Navigate to the \<InstallHome>\Chapter01\Lesson2\Exercise3\Partial folder
Note from the Author or Editor: This comment is correct--the folder is incorrect, though most readers will go to the correct folder automatically.
|
H?kan Johansson |
Mar 02, 2010 |
Feb 01, 2011 |