.NET Questions and Solutions

As a software engineer, I focus on .NET, especially asp.net, C#, WCF and so on, and I am also very interested in Search Engine Optimization.

Entries for October, 2010

FIX: A System.ArgumentException exception occurs when you try to create a Windows form that inherits from a Windows form that contains a dataset

Symptoms
When you try to create a Windows form that inherits from a Windows form that contains a dataset in Microsoft Visual Studio .NET 2003, you may receive the following exception error message:

An unhandled exception of type ‘System.ArgumentException’ occurred in system.data.dll
Additional information: Cannot add primary key constraint since primary key is already set for the table.
Resolution
If the dataset contains nested datatables, Visual Studio .NET incorrectly tries to add additional code to the inherited Windows form to enforce constraints on the inherited dataset. This code tries to add a constraint that already exists on the dataset. Therefore, the behavior that is mentioned in the “Symptoms” section occurs.

FIX: A NullReferenceException exception may occur when you set the Table property of a DataView object in a .NET Framework 2.0 application

Symptoms
Consider the following scenario in a Microsoft .NET Framework 2.0 application:You set a DataTable object for the Table property of a DataView object.The DataTable object that you use contains fewer rows than the DataTable object that was previously set for the Table property. The DataView object is bound to a DataGrid object.In this scenario, a NullReferenceException exception may occur.
Resolution
This problem occurs because the DataView object raises a ListChanged event before the DataView object has completed the transition to the new DataTable object.The DataView object tries to access the index for a DataRow object. However, that index is no longer valid because the Table property is set to a different DataTable object.

FIX: A NullReferenceException error occurs when you use a method that has the default null value as a parameter in the .NET Framework 1.1

Symptoms
A NullReferenceException error may occur in the Microsoft .NET Framework version 1.1 when one of the following conditions is true: You use reflection to obtain a default value of a parameter out of a method that uses a default null value for a parameter.You use reflection to invoke a method that uses a default null value for a parameter.
Resolution
To resolve this problem, obtain the latest service pack for the Microsoft .NET Framework 1.1. For more information, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?FamilyId=A8F5654F-088E-40B2-BBDB-A83353618B38(http://www.microsoft.com/downloads/details.aspx?FamilyId=A8F5654F-088E-40B2-BBDB-A83353618B38)

FIX: A NullReferenceException error occurs when you run a .NET Framework 2.0 program

Symptoms
When you run a Microsoft .NET Framework 2.0 program, aNullReferenceException error occurs, or you receive an access violation error message. If you debug the crash, you find an access violation in the MSCORJIT!emitter::emitJumpDistBind function.
Resolution
This problem occurs because of an optimization bug in the just-in-time (JIT) compiler.

FIX: A NullReferenceException error for T-SQL Debugger occurs when you use the SET SHOWPLAN_XML ON option in a Transact-SQL statement on a instance of SQL Server 2008

Symptoms
When you run a Transact-SQL script that uses the SET SHOWPLAN_XML ON option in the debugging mode on an instance ofMicrosoft SQL Server 2008, aNullReferenceException error for T-SQL Debugger occurs.
Resolution
This issue occurs when a call to SQL Server Management Objects (SMO) is made from a connection context in which you use the SET SHOWPLAN_XML ON option together with T-SQL Debugger. T-SQL Debugger uses the Server object in SMO to retrieve the version of the instance ofSQL Server that is connected. T-SQL Debugger uses this information to impose the version restriction. This is a known issue associated with T-SQL Debugger.

FIX: A new user profile may not be created and you may receive an exception when you try to create a new user profile in Commerce Server 2007

Symptoms
When you try to create a new user profile in Microsoft Commerce Server 2007, a new user profile may not be created.Additionally, you may receive the following exceptions in the Application event log.
Exception 1

An exception occurred in the ‘ProfilesWebService’ Web service.Exception details follow: System.Runtime.InteropServices.COMException (0×8007202F): A constraint violation occurred. (Exception from HRESULT: 0×8007202F)
at Microsoft.CommerceServer.Interop.Profiles.IProfileObject2.Update()
at Microsoft.CommerceServer.Internal.Profiles.ProfileStorage.UpdateOnProfilePIA(IProfileObject2 piaProfileObject, ProfileErrorContext ctxt)
at Microsoft.CommerceServer.Internal.Profiles.ProfileStorage.UpdateProfile(XmlElement profileXml, Boolean forceOverwrite, Boolean inAdapterContext)
at Microsoft.CommerceServer.Profiles.WebService.ProfilesWebService.UpdateProfile(XmlElement& profileXml, Boolean forceOverwrite, Boolean inAdapterContext)
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Exception 2

Microsoft.CommerceServer.ServerFaultException: A constraint violation occurred. (Exception from HRESULT: 0×8007202F) —>
System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: A constraint violation occurred.
(Exception from HRESULT: 0×8007202F) —>
Microsoft.CommerceServer.ServerFaultException: A constraint violation occurred.
(Exception from HRESULT: 0×8007202F)
— End of inner exception stack trace —
at Microsoft.CommerceServer.Profiles.WebService.ProfilesWebService.PropagateOrLogExceptionInternal(Exception ex)
at Microsoft.CommerceServer.Profiles.WebService.ProfilesWebService.PropagateOrLogException(Exception ex)
at Microsoft.CommerceServer.Profiles.WebService.ProfilesWebService.UpdateProfile(XmlElement& profileXml, Boolean forceOverwrite, Boolean inAdapterContext)
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)at Microsoft.CommerceServer.Internal.Profiles.ProfilesServiceProxy.AuthorizedInvoke(String methodName, Object[] parameters)— End of inner exception stack trace —
at Microsoft.CommerceServer.ServiceAgent.TryHandleWebMethodException(Exception ex, SoapHttpClientProtocol serviceProxy)at Microsoft.CommerceServer.Internal.Profiles.ProfilesServiceProxy.AuthorizedInvoke(String methodName, Object[] parameters)
at Microsoft.CommerceServer.Internal.Profiles.ProfilesServiceProxy.UpdateProfile(XmlElement& profileXml, Boolean forceOverwrite, Boolean inAdapterContext)
at Microsoft.CommerceServer.Profiles.ProfileManagementContext.UpdateProfile(XmlElement profileXml, Boolean forceOverwrite, Boolean inAdapterContext)
at Microsoft.CommerceServer.Profiles.ProfileManagementContext.UpdateProfile(XmlElement profileXml, Boolean forceOverwrite)
at Microsoft.CommerceServer.UI.CustomerAndOrdersManager.ProfilesManagementProxy.TryUpdateProfile(XmlElement profileXml, Boolean forceOverwrite)
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp. This problem occurs if the following conditions are true:You use a centralized profile store to maintain credentials in Active Directory Application Mode (ADAM).You try to set a password for the unicodePwd attribute.Note This problem may not occur if the unicodepwd attribute is blank.
Resolution
Hotfix information A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.
If the hotfix is available for download, there is a “Hotfix download available” section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.
Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or tocreate a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support(http://support.microsoft.com/contactus/?ws=support)Note The “Hotfix download available” form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.PrerequisitesNo prerequisites are required.Restart requirementYou must restart Microsoft Internet Information Services (IIS) after you apply this hotfix. To restart IIS, run the following command at a command prompt.

IISRESET/RESTART Note This option stops and then restarts all IIS services.Hotfix replacement information This hotfix does not replace any other software updates.
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformMscsdp.dll6.0.4010.066,56023-Feb-200722:55×86