为 Selenium 4 配置 vs 代码 - 使用 PowerShell 安装 dotnet 6 sdk 时出错

Configure vs code for Selenium 4 - error while installing dotnet 6 sdk using PowerShell

我按照这里的步骤操作:

https://www.fleekitsolutions.com/use-selenium-c-visual-studio-code/

在 vs code 中使用 Selenium 4。然后这让我在这里看到以下说明:

https://docs.microsoft.com/en-us/dotnet/core/install/windows?tabs=net60#install-with-powershell-automation

使用 PowerShell 脚本安装 .NET 6 SDK,出现以下错误:

dotnet-install.ps1: Exception calling "ExtractToFile" with "3" argument(s): "The archive entry was compressed using an unsupported compression method.

请参阅下面的快照。

我的目的是获取最新版本的“Visual C++ Redistributable for Visual Studio”,这让我按照上述说明安装了 dotnet 6 sdk。

请注意,我为此目的使用提升的管理员 PowerShell 控制台。

我在尝试使用 PowerShell 安装最新版本的 Selenium PowerShell 模块时也遇到了类似的错误。当我安装3.0.1版本的Selenium-PowerShell模块时,成功了。

编辑: 从 MS Build Tools 安装 .NET SDK 6 后,我完成了为 Selenium 4 配置 vscode 的步骤,现在我收到此错误:

PS> dotnet restore

C:\Projects\Selenium\demoProject\FirstTest\FirstTest.csproj : error NU1100: Unable to resolve 'Selenium.WebDriver (>= 4.1.0)' for 'net6.0'.

我尝试的其他事情:

我在 .csproj 中尝试了以下配置,但没有任何效果:

<TargetFramework>net48</TargetFramework>
<TargetFramework>net5.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>

请注意,dotnet new console 的示例 Hello World 程序可以与我上面使用的所有 TargetFramework 一起正常工作。当我使用 NuGet 包管理器扩展将 Selenium.WebDriver 添加到项目时发生错误。

添加 Selenium WebDriver 后,弹出请求恢复,OmniSharp 服务器将重新启动,然后输出中出现类似的错误:

[warn]: OmniSharp.MSBuild.ProjectManager
        Failed to load project file 'c:\Projects\Selenium\demoProject\FirsProj\FirsProj.csproj'.
c:\Projects\Selenium\demoProject\FirsProj\FirsProj.csproj
c:\Projects\Selenium\demoProject\FirsProj\FirsProj.csproj(0,0): Error: Unable to resolve 'Selenium.WebDriver (>= 4.1.0)' for '.NETFramework,Version=v4.8'.
c:\Projects\Selenium\demoProject\FirsProj\FirsProj.csproj(0,0): Error: Unable to resolve 'Selenium.WebDriver (>= 4.1.0)' for '.NETFramework,Version=v4.8/win7-x86'.

[info]: OmniSharp.MSBuild.ProjectManager
        Update project: FirsProj
[warn]: OmniSharp.MSBuild.PackageDependencyChecker
        FirsProj: Did not find 'Selenium.WebDriver' in lock file.

感谢您的帮助。

我解决了以下问题:

  1. 使用 MS Build Tools,我下载了所需的 .NET SDK。我只选择了需要的项目。我没有下载 Visual Studio.
  2. 我确实尝试使用旧版本下载,例如使用 Visual Studio Build Tools 2019 但不确定,因为我尝试了很多步骤...
  3. 存在一个问题,即 NuGet 的配置部分为空。将以下部分添加到 %appdata%\NuGet\nuget.config:
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />   
  </packageSources>
...

看到这个answer for details

而且,错误在 .NET 5 和 .NET 6 中都消失了。

这不公平,为什么这么难找到解决方案?