【发布时间】:2019-10-29 13:27:51
【问题描述】:
当我将我的 UWP 应用程序的 .appxbundle 上传到 HockeyApp 时,一切正常。当我改为上传 .appxupload 文件时,我在运行我的应用程序时收到序列化错误,并尝试使用 [DataContract] 属性序列化类。
我得到的异常如下(在某些机器上,不是全部):
Value cannot be null.
Parameter name: format
at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
at System.SR.Format(String resourceFormat, Object p1)
at System.Runtime.Serialization.DataContract.GetDataContractFromGeneratedAssembly(Type type)
at System.Runtime.Serialization.DataContract.DataContractCriticalHelper.CreateDataContract(Int32 id, RuntimeTypeHandle typeHandle, Type type)
at System.Runtime.Serialization.DataContract.DataContractCriticalHelper.GetDataContractSkipValidation(Int32 id, RuntimeTypeHandle typeHandle, Type type)
at System.Runtime.Serialization.DataContract.GetDataContract(RuntimeTypeHandle typeHandle, Type type, SerializationMode mode)
at System.Runtime.Serialization.DataContractSerializer.get_RootContract()
at System.Runtime.Serialization.DataContractSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
at System.Runtime.Serialization.XmlObjectSerializer.WriteObjectHandleExceptions(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
at System.Runtime.Serialization.XmlObjectSerializer.WriteObject(XmlDictionaryWriter writer, Object graph)
at System.Runtime.Serialization.XmlObjectSerializer.WriteObject(Stream stream, Object graph)
at VungleSDK.DbTable_1`1.Serialize(T obj)
如果我将 .appxupload 文件上传到 Windows 应用商店,我认为没有问题。
我的问题是,为什么会这样? HockeyApp 是否以某种方式修改了 .appxupload 的 .appx 包,而不是 .appxbundle?是不是有别的事情发生了?
【问题讨论】:
-
在这些情况下您不能使用捆绑包有什么原因吗?
-
没有任何理由我不能使用 .appxbundle。问题是,人们如何知道何时应该使用 .appxbundle,以及何时应该使用 .appxupload?如果 HockeyApp 没有对 .appxupload 文件做正确的事情,人们会认为他们的 UI 不允许上传它们。
-
完全公平,我认为为 .appxupload 文件提供检查和体面的错误消息会很有帮助! :-)
标签: serialization uwp windows-store-apps xmlserializer hockeyapp