当我将我的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是否以某种方式修改了.appx包中的.appxupload,但没有修改.appxbundle?还有其他事情吗?
答案 0 :(得分:1)
回答我自己的问题:
尽管HockeyApp可以让您上传.appxupload文件(就像Windows应用商店一样),但您不应这样做。相反,请始终上载.appxbundle文件。
我联系了support@hockeyapp.net,并迅速收到以下答复(非常感谢HockeyApp支持):
嗨,格雷格,感谢您的联系!
如文档How to sideload UWP applications所示 似乎我们仅支持.appxbundle文件,因此请上传 .appxbundle文件而不是.appxupload。
答案 1 :(得分:0)
AppxUpload软件包仅用于商店提取管道,我不希望它们正常运行。我没有完整的清单,但是它们是我们为您的应用程序正确进行安全修补所需的工件集,并不意味着它是执行的容器。