Bug Report B232511
Visible to All Users

Workflow - XmlException 'sads:DebugSymbol.Symbol' is a duplicate attribute name.' occurs when saving changes in WorkflowDesigner in .NET FW 4.5

created 12 years ago

- type some text to the 'Name' edit
- drag a 'Sequence' activity from toolbox
- drag a 'Delay' activity
- save and close the DetailView
- open the created workflow
- open the 'Designer' tab and delete the 'Delay' activity
- save changes - exception occurs:
System.Xml.XmlException: 'sads:DebugSymbol.Symbol' is a duplicate attribute name. Line 13, position 109.
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg, Int32 lineNo, Int32 linePos)
   at System.Xml.XmlTextReaderImpl.AttributeDuplCheck()
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Activities.Debugger.XmlReaderWithSourceLocation.Read()
   at System.Xaml.XmlCompatibilityReader.Read()
   at MS.Internal.Xaml.Parser.XamlScanner.DoXmlRead()
   at MS.Internal.Xaml.Parser.XamlScanner.Read()
   at MS.Internal.Xaml.Parser.XamlPullParser.<P_NonemptyPropertyElement>d__42.MoveNext()
   at MS.Internal.Xaml.Parser.XamlPullParser.<P_PropertyElement>d__35.MoveNext()
   at MS.Internal.Xaml.Parser.XamlPullParser.<P_ElementBody>d__23.MoveNext()
   at MS.Internal.Xaml.Parser.XamlPullParser.<P_Element>d__7.MoveNext()
   at MS.Internal.Xaml.Parser.XamlPullParser.<Parse>d__0.MoveNext()
   at MS.Internal.Xaml.NodeStreamSorter.MoveNext()
   at System.Xaml.XamlXmlReader.Read()
   at System.Activities.Debugger.XamlDebuggerXmlReader.Read()
   at System.Activities.XamlIntegration.DynamicActivityXamlReader.Read()
   at Microsoft.Activities.Presentation.Xaml.ActivityTemplateFactoryBuilderReader.Read()
   at Microsoft.Activities.Presentation.Xaml.ViewStateXamlHelper.StripViewStateElement(XamlReader inputReader, Dictionary`2& viewStateInfo, Dictionary`2& viewStateSourceLocationMap)
   at Microsoft.Activities.Presentation.Xaml.ViewStateXamlHelper.ConvertViewStateToAttachedProperties(XamlReader inputReader, ViewStateIdManager idManager, Dictionary`2& viewStateSourceLocationMap)
   at Microsoft.Activities.Presentation.Xaml.WorkflowDesignerXamlHelper.DeserializeString(String text, DeserializationMode mode, IList`1& loadErrors, Dictionary`2& sourceLocations)
   at Microsoft.Activities.Presentation.Xaml.WorkflowDesignerXamlHelper.DeserializeString(String text, IList`1& loadErrors, Dictionary`2& sourceLocations)
   at Microsoft.Activities.Presentation.Xaml.WorkflowDesignerXamlHelper.SerializeToString(Object obj, String fileName)
   at System.Activities.Presentation.WorkflowDesigner.SerializeToString(Object obj, String fileName)
   at System.Activities.Presentation.WorkflowDesigner.WriteModelToText(String fileName)
See also: WF4.5 Rehosted Workflow Designer issue.

Show previous comments (16)
Dennis Garavsky (DevExpress) 12 years ago

    We have reported this bug to Microsoft:
    https://connect.microsoft.com/VisualStudio/feedback/details/786503/
    I would ask every one who is facing the same issue to please upvote (see the green arrow at left) the aforementioned MS Connect item and feel free to post workaround solutions there, if any. Thanks for your cooperation in advance!
    We are closing this ticket for now, and will reactivate it once we receive any fix from Microsoft. In the meantime, you can use the aforementioned WorkflowDesignerControlBase.CanSetTargetFramework45 workaround.

      +1'd

      Dennis Garavsky (DevExpress) 12 years ago

        Thanks, Dave!

        Answers approved by DevExpress Support

        created 12 years ago (modified 12 years ago)

        We have reported this bug to Microsoft:
        https://connect.microsoft.com/VisualStudio/feedback/details/786503/
        I would ask every one who is facing the same issue to please upvote (see the green arrow at left) the aforementioned MS Connect item and feel free to post workaround solutions there, if any. Thanks for your cooperation in advance!
        We are closing this ticket for now, and will reactivate it once we receive any fix from Microsoft.
        Starting with version 12.2.9 (or after installing this hot fix), the aforementioned problem should not occur with our product, because we have introduced a static DevExpress.ExpressApp.Workflow.Win.WorkflowDesignerControlBase.CanSetTargetFramework45 property (it's false by default) that disables the problematic features in the rehosted workflow designer.
        Finally, we sincerely apologize for all the inconvenience here.

          Comments (3)

            Dennis, you mentioned that in 12.2.9 the problem is solved. Because we are using the workflow much, and also are right now busy with the upgrade to 12.2.8, can you give an estimation on when 12.2.9 is released?
            Or is it ok to use the ByPass as provided by Dan in the 12.2.8 ?

            Dennis Garavsky (DevExpress) 12 years ago

              @Peter: I said that we disabled workflow features in version 12.2.9. It should be out in a few weeks. I am afraid I cannot tell you the exact date for this maintenance update. If you cannot wait, you can use the hot fix link I posted above. This hot fix contains the aforementioned changes.

              DevExpress Support Team 12 years ago

                I have introduced workaround code into XAF that allows you to avoid this issue. Assign the 'true' value to the WorkflowDesignerControlBase.CanSetTargetFramework45 property to enable FW4.5 features and see whether or not it improves behavior in your environment. This change will be included in the next public release/update (v12.2.11/v13.1.5). Assign the 'false' value to the WorkflowDesignerControlBase.RemoveFramework45DebugSymbol property to disable it if necessary (it is enabled by default). Note that this issue is not fixed in the WF code, and we are still waiting for a native solution from the WF team.

                Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

                Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.