问题描述
在更新到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
解决方法
我解决了这个问题。我删除了所有项目,然后再次从远程存储库克隆它。 此解决方案是临时的,如果有人对解决方案有更好的了解,请告知。