更新到Visual Studio 2019 16.8.0后应用清单错误验证错误

问题描述

在更新到Visual Studio 2019 16.8.0之后,我在构建项目时收到错误。 (我在我的应用程序中使用了抽奖动画。我没有更改清单等。很多个月前我安装了Microsoft.Toolkit.Uwp.UI.Lottie,并且运行良好。)

Error   Appx0501    Validation error. error 80080204: App manifest validation error: Line 191,Column 27,Reason: The field "*[local-name()='Extensions']/*[local-name()='Extension']/*[local-name()='InProcessServer']/*[local-name()='ActivatableClass']" with value "Microsoft.Toolkit.Uwp.UI.Lottie.LottieVisualSource" must only be declared once. A duplicate exists on Line 78,Column 27.   SampleApp C:\PathTo\AppxManifest.xml

我试图清理解决方案并重建它并没有帮助。我有一台装有VS 16.7.7的电脑,我的应用程序构建时没有任何问题。

该如何解决

更新1

我注意到在 VS 16.7.7 生成文件AppxManifest.xml。 包含此

<Extensions>
<Extension Category="windows.activatableClass.inProcessServer">
  <InProcessServer>
    <Path>SampleApp.exe</Path>
    <ActivatableClass ActivatableClassId="Microsoft.Toolkit.Uwp.UI.Lottie.LottieVisualSource" ThreadingModel="both" />
    <ActivatableClass ActivatableClassId="Microsoft.Toolkit.Uwp.UI.Lottie.Issue" ThreadingModel="both" />
    <ActivatableClass ActivatableClassId="Microsoft.Toolkit.Uwp.UI.Lottie.LottieVisualDiagnostics" ThreadingModel="both" />
    <ActivatableClass ActivatableClassId="Microsoft.UI.Xaml.Markup.ReflectionXamlMetadataProvider" ThreadingModel="both" />
  </InProcessServer>
</Extension>

但是,如果我在 VS 16.8.0 中构建我的项目,我将获得与此相关的AppxManifest.xml

<Extensions>
    <Extension Category="windows.activatableClass.inProcessServer">
      <InProcessServer>
        <Path>SampleApp.exe</Path>
        <ActivatableClass ActivatableClassId="Microsoft.Toolkit.Uwp.UI.Lottie.LottieVisualSource" ThreadingModel="both" />
        <ActivatableClass ActivatableClassId="Microsoft.Toolkit.Uwp.UI.Lottie.Issue" ThreadingModel="both" />
        <ActivatableClass ActivatableClassId="Microsoft.Toolkit.Uwp.UI.Lottie.LottieVisualDiagnostics" ThreadingModel="both" />
        <ActivatableClass ActivatableClassId="Microsoft.UI.Xaml.Markup.ReflectionXamlMetadataProvider" ThreadingModel="both" />
      </InProcessServer>
    </Extension>
...
<Extension Category="windows.activatableClass.inProcessServer">
      <InProcessServer>
        <Path>CLRHost.dll</Path>
        <ActivatableClass ActivatableClassId="Microsoft.Toolkit.Uwp.UI.Lottie.LottieVisualSource" ThreadingModel="both" />
        <ActivatableClass ActivatableClassId="Microsoft.Toolkit.Uwp.UI.Lottie.Issue" ThreadingModel="both" />
        <ActivatableClass ActivatableClassId="Microsoft.Toolkit.Uwp.UI.Lottie.LottieVisualDiagnostics" ThreadingModel="both" />
        <ActivatableClass ActivatableClassId="Microsoft.UI.Xaml.Markup.ReflectionXamlMetadataProvider" ThreadingModel="both" />
      </InProcessServer>
    </Extension>

由于未知原因,出现了CLRHost.dll

解决方法

我解决了这个问题。我删除了所有项目,然后再次从远程存储库克隆它。 此解决方案是临时的,如果有人对解决方案有更好的了解,请告知。