Errata

MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework - Application Development

Errata for MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework - Application Development

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 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

User should be Name

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