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 文件中可能会有所帮助:
我正在使用 .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 文件中可能会有所帮助: