【问题标题】:Serialization Exception when I upload .appxupload instead of .appxbundle to HockeyApp当我将 .appxupload 而不是 .appxbundle 上传到 HockeyApp 时出现序列化异常
【发布时间】: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


【解决方案1】:

回答我自己的问题:

虽然 HockeyApp 可以让您上传 .appxupload 文件(就像您可以在 Windows 应用商店中一样),但您不应该这样做。相反,请始终上传 .appxbundle 文件。

我联系了 support@hockeyapp.net,很快就收到了以下回复(非常感谢 HockeyApp 支持):

您好 Greg,感谢您与我们联系!

正如文件How to sideload UWP applications 在这里指出的那样 看来我们只支持 .appxbundle 文件,所以请上传 .appxbundle 文件而不是 .appxupload。

【讨论】:

    【解决方案2】:

    AppxUpload 包仅适用于 Store 摄取管道,我不希望它们正常工作。我没有完整的概要,但它们是我们需要正确地对您的应用程序进行安全修补所需的一组工件,而不是用于执行的容器。

    【讨论】:

      猜你喜欢
      • 2018-08-15
      • 2017-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多