Nuget -“无法加载文件或程序集'{Class Name},Version=x.x.x.,Culture=neutral,PublicKeyToken=null'或其依赖项之一”

Nuget - " Could not load file or assembly '{Class Name}, Version= x.x.x., Culture=neutral, PublicKeyToken=null' or one of its dependency"

我正在使用 .NetStandard 创建一个 class 库,我已经从 NuGet 商店的 Selenium 包下载了以下内容

现在我有一个简单的测试代码

using System;
using Operation_Forage_V2;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

public class test
{
    public static void Main(string[] args)
    {
        Uri Aurl = new Uri("https://www.youtube.com/");

        IWebDriver aDriver;

        aDriver = new ChromeDriver();

        aDriver.Url = Aurl.OriginalString;

        var element = aDriver.FindElement(By.ClassName("sa_wr"));
        var innerHtml = element.GetAttribute("innerHTML");

        Console.WriteLine(innerHtml.Substring(0, 100)); //just to see if it got the html

    }         
}

问题是当我 运行 代码(作为控制台应用程序)时,出现以下错误

我在这个网站上看到过类似的问题,但对我没有帮助

我不知道为什么会出现此错误,尤其是考虑到驱动程序并且已使用 NuGet 下载了正确版本的驱动程序并且图片清楚地显示了它。

我不认为这是 .Net Standard 的问题,因为我能够加载它,但出现了不同的错误,因为我有更新版本的 Chrome 运行,但我能够使用 Class Lib(.Net Standard 2.0.3)和控制台应用程序(.Net Core 3.1)很好地加载程序集。

编辑:您的 output/bin 文件夹应如下所示:

... 以及您的参考库的 .csproj 文件应至少包含以下内容:

编辑 #2:我刚刚从上面的 nuget 包屏幕截图中注意到您对它们有警告。请删除并删除您的引用并尝试将它们添加回来,或者如果您右键单击您的项目是 VS,应该有一个选项可以重新下载您的包,但我使用阶梯方法从来没有取得太大成功。但是,您的包裹似乎确实存在问题。如果这些对您不起作用,请尝试删除您的 bin 和 obj 文件夹并重建,有时这会有所帮助。如果还有问题,请分享⚠️消息,它们可能有助于调试。

编辑 #3:您可能还想尝试看看是否按照此处的说明将此 <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> 添加到您的 .csproj 文件中可能会有所帮助: