我在将 Xamarin.Forms.UWP 更新推送到商店时遇到问题。它没有通过 WACK 测试,因为我的项目中有对 Microsoft.Web.WebView2.Core 的引用。 我不知道这个引用是如何添加的,而且我无法删除它。
据我所知,您可以手动添加/删除引用,它们将被添加到 .csproj 文件中/从 .csproj 文件中删除。但这个参考是不同的。我可以直观地删除它,但 .csproj 文件不会更改。此外,当项目卸载并重新加载时,它会再次出现。清理或删除 bin/obj 目录不会影响此行为。
我相信我的环境中的某些内容正在添加此引用,因为:
我不知道是什么让这个引用被自动添加。
我尝试创建一个新的 Xamarin.Forms.UWP 应用程序,但似乎没有添加引用。可能是因为模板较新。
也许下面的内容可以提供线索,除了我项目的bin文件夹之外,这个dll还存在于我的电脑上的以下位置:
C:\Program Files (x86)\Microsoft Visual Studio�9\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\libexec\git-core\Microsoft.Web.WebView2.Core.dll C:\Program Files\Microsoft Visual Studio�2\Community\Common7\IDE\CommonExtensions\Microsoft\Asal\TokenService\Microsoft.Web.WebView2.Core.dll C:\Program Files\Microsoft Visual Studio�2\Community\Common7\IDE\CommonExtensions\Microsoft\Asal\Microsoft.Web.WebView2.Core.dll C:\Program Files\Microsoft Visual Studio�2\Community\Common7\IDE\Extensions\Microsoft\Web Live Preview\Microsoft.Web.WebView2.Core.dll C:\Program Files\Microsoft 视觉的 Studio�2\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\libexec\git-core\Microsoft.Web.WebView2.Core.dll C:\Users\sjors\AppData\Local\Atlassian\SourceTree\git_local\mingw32\libexec\git-core\Microsoft.Web.WebView2.Core.dll C:\Users\sjors.nuget\packages\microsoft.web.webview2 .0.1020.30\lib et45\Microsoft.Web.WebView2.Core.dll C:\Users\sjors.nuget\packages\microsoft.web.webview2 .0.1020.30 untimes\win-x86 ative_uap\Microsoft.Web.WebView2.Core.dll C:\Users\sjors.nuget\packages\microsoft.web.webview2 .0.1020.30\lib etcoreapp3.0\Microsoft.Web.WebView2.Core.dll C:\Users\sjors.nuget\packages\microsoft.web.webview2 .0.1020.30 untimes\win-arm64 ative_uap\Microsoft.Web.WebView2.Core.dll C:\Users\sjors.nuget\packages\microsoft.web.webview2 .0.1020.30 untimes\win-x64 ative_uap\Microsoft.Web.WebView2.Core.dll
我目前的主要怀疑是我最近对 Microsoft Windows SDK 进行的升级,也与 WACK 问题有关。不幸的是,卸载最新版本并没有解决我的问题。
我还发现这个线程非常相似但不同:https://github.com/MicrosoftEdge/WebView2Feedback/issues/1722
该线程还提到了正在添加的参考: “找不到引用的组件”,但在我删除引用后,VS 不断重新添加引用
原因似乎是因为我使用lottie,所以我必须添加对Microsoft.Ui.Xaml nuget的引用才能通过WACK。 显然我已经将此包升级到预发布版本,并且这个新版本引入了对 WebView2 的依赖,在构建时动态添加 dll。
将 Microsoft.Ui.Xaml 包降级到 2.7.1,并将 UWP 最低构建目标升级到构建 19041,以便与 com.arinbnb.xamarin.forms.lottie v4.0.11 一起使用,为我修复了这个问题。
看起来它是 2.8 版本的 Microsoft.Ui.xaml 的依赖项。在我确保我正在使用的控件仍然可用之后,我也不得不回滚。 我的 UWP 应用程序的 WACK 和 WebView2 也遇到同样的问题。