我使用单个InArgument创建了一个简单的XAML工作流,默认值为1.234。如果我然后在Regional和Lanaguage Options中将我的机器切换到法语(法国)并尝试将工作流程加载到VS设计视图中,我会收到错误:
'无法从文本'1.234'创建'InArgument'。'
查看XAML我可以看到属性this:Activity1.arg1 =“1.234”,这是导致问题的原因。然后我尝试使用VS从头创建一个等效的XAML工作流程,同时仍在法语设置下运行,结果XAML不同 - 属性为:Activity1.arg1 =“[1.234]”。
这给我带来两个问题:
1)我们的最终用户将无法将XAML文件发送给在不同区域设置下运行的其他用户
2)两个XAML文件反序列化为不同的对象图 - 在第一种情况下,我最终得到一个Literal,在第二种情况下,我得到一个VisualBasicValue。然后,当我以编程方式操作工作流时,我需要对差异进行编码。
是否有一些简单的方法可以通过确保XAML始终在中性文化中书写/阅读来避免这种情况?