更新至 visual studio 2019 16.8.0 后应用清单验证错误

App manifest validation error after update to visual studio 2019 16.8.0

更新到 visual studio 2019 16.8.0 后,我在构建项目时遇到错误。 (我在我的应用程序中使用了 lottie 动画。我没有更改清单等。我在很多个月前安装了 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 出现了

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