If I make a change in design-mode to a form that has a DropDownList or an UltracomboEditor, I'm seeing a strange error. I'm trying to add a button -- the change I'm making to the form shouldn't affect the dropdown at all, but it does. It looks like when the .resx file is getting recreated, it somehow adds the wrong value. After the change, the form won't compile, and VS won't even let me reopen the form. Full text of the error is below. In the .Resx File:
<data name="ValueListItem24.DataValue" mimetype="application/x-microsoft.net.object.binary.base64"> <value> AAEAAAD/////AQAAAAAAAAAEAQAAAB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyAwAAAARE YXRhCVVuaXR5VHlwZQxBc3NlbWJseU5hbWUBAAEICgIAAAAGAgAAAAAL </value> </data>
becomes
<data name="ValueListItem24.DataValue" mimetype="application/x-microsoft.net.object.binary.base64">
<value> AAEAAAD/////AQAAAAAAAAAEAQAAAA1TeXN0ZW0uREJOdWxsAwAAAAREYXRhCVVuaXR5VHlwZQxBc3Nl bWJseU5hbWUBAAEICgIAAAAGAgAAAAAL</value>
Error 138 TargetInvocationException: Type in the data at line 1046, position 5, cannot be loaded because it threw the following exception during construction: Only one DBNull instance may exist, and calls to DBNull deserialization methods are not allowed.
at System.Resources.ResXResourceReader.ParseXml(XmlTextReader reader)
at System.Resources.ResXResourceReader.EnsureResData()
at System.Resources.ResXResourceReader.GetEnumerator()
at Microsoft.Build.Tasks.ProcessResourceFiles.ReadResources(ReaderInfo readerInfo, IResourceReader reader, String fileName)
at Microsoft.Build.Tasks.ProcessResourceFiles.ReadResources(String filename, Boolean shouldUseSourcePath)
at Microsoft.Build.Tasks.ProcessResourceFiles.ProcessFile(String inFile, String outFileOrDir)
XmlException: Type in the data at line 1046, position 5, cannot be loaded because it threw the following exception during construction: Only one DBNull instance may exist, and calls to DBNull deserialization methods are not allowed. Line 1046, position 5.
NotSupportedException: Only one DBNull instance may exist, and calls to DBNull deserialization methods are not allowed.
at System.DBNull..ctor(SerializationInfo info, StreamingContext context)
Thanks,
Brad Larsen
Stratis Business Systems, Inc.
I ran into a similar issue with the UltraCalendarCombo control. To mitigate the issue, this is what I did:
When I followed these steps and examined the new .resx file that was generated after saving, all of the entries pertaining to the value of the UltraCalendarCombo controls had been removed and the form continued to open successfully.
I don't know if this solution can be adapted to your problem, but maybe it will give you an idea.
Same happened to me, It was a Datetimepicker with a null value (Property Allow Null = True )
I decided to set the date as you mention, but then to set the property to allow null = False at RUN TIME only, that was the trick.
This because everytime I moved any other child object in the form gave as a result the same error again, but when the Datetimepicker had a date everything worked fine. This works.
Thanks!