如何阻止 Visual Studio 添加对 WebView2 的引用?

问题描述 投票:0回答:2

我在将 Xamarin.Forms.UWP 更新推送到商店时遇到问题。它没有通过 WACK 测试,因为我的项目中有对 Microsoft.Web.WebView2.Core 的引用。 我不知道这个引用是如何添加的,而且我无法删除它。

enter image description here

据我所知,您可以手动添加/删除引用,它们将被添加到 .csproj 文件中/从 .csproj 文件中删除。但这个参考是不同的。我可以直观地删除它,但 .csproj 文件不会更改。此外,当项目卸载并重新加载时,它会再次出现。清理或删除 bin/obj 目录不会影响此行为。

我相信我的环境中的某些内容正在添加此引用,因为:

  • 它不存在于我的 .csproj 文件中。 (我用 findstr 搜索了源目录中的所有文件,它只返回 bin 和 obj 目录中的文件)
  • 我不记得曾经添加过它
  • 我过去发布过我的应用程序,没有任何问题(通过 WACK)
  • 当我从源代码管理中签出应用程序的旧版本时,我可以看到引用也开始出现在那里,使用它我无法将其推送到商店。

我不知道是什么让这个引用被自动添加。

  • 我包含的 nuget 软件包似乎没有使用它
  • 在我的源代码或 .csproj / .sln 文件中找不到术语“webview2”
  • 我在 VS2019 和 VS2022 最新版本上都看到了行为
  • 我禁用了所有 VS 扩展,但没有运气。

我尝试创建一个新的 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 不断重新添加引用

visual-studio sdk webview2
2个回答
0
投票

原因似乎是因为我使用lottie,所以我必须添加对Microsoft.Ui.Xaml nuget的引用才能通过WACK。 显然我已经将此包升级到预发布版本,并且这个新版本引入了对 WebView2 的依赖,在构建时动态添加 dll。

将 Microsoft.Ui.Xaml 包降级到 2.7.1,并将 UWP 最低构建目标升级到构建 19041,以便与 com.arinbnb.xamarin.forms.lottie v4.0.11 一起使用,为我修复了这个问题。


0
投票

看起来它是 2.8 版本的 Microsoft.Ui.xaml 的依赖项。在我确保我正在使用的控件仍然可用之后,我也不得不回滚。 我的 UWP 应用程序的 WACK 和 WebView2 也遇到同样的问题。

© www.soinside.com 2019 - 2024. All rights reserved.