Powershell load dll出错:Add-Type:无法加载文件或程序集“Web
我想将PowerShell与selenium一起使用,并从
http://www.java2s.com/Code/Jar/s/Downloadseleniumremotedriver2350jar.htm下载selenium.当我尝试加载其中一个dll时,我遇到了错误.希望有人可以帮助我.
这是我的系统信息. OS Name: Microsoft Windows 7 Enterprise OS Version: 6.1.7601 Service Pack 1 Build 7601 OS Manufacturer: Microsoft Corporation 这是我的PowerShell信息. PS C:UserstestDownloadsselenium-dotnet-2.35.0net40> $psversiontable Name Value ---- ----- PSVersion 4.0 WSManStackVersion 3.0 SerializationVersion 1.1.0.1 CLRVersion 4.0.30319.18052 BuildVersion 6.3.9421.0 PSCompatibleVersions {1.0,2.0,3.0,4.0} PSRemotingProtocolVersion 2.2 PS C:UserstestDownloadsselenium-dotnet-2.35.0net40> 这是我在尝试加载dll时遇到的错误. PS C:UserstestDownloadsselenium-dotnet-2.35.0net40> Add-Type -Path .WebDriver.dll Add-Type : Could not load file or assembly 'file:///C:UserstestDownloadsselenium-dotnet-2.35.0net40WebDriver.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515) At line:1 char:1 + Add-Type -Path .WebDriver.dll + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Add-Type],FileLoadException + FullyQualifiedErrorId : System.IO.FileLoadException,Microsoft.PowerShell.Commands.AddTypeCommand PS C:UserstestDownloadsselenium-dotnet-2.35.0net40> [reflection.assembly]::LoadFrom(".WebDriver.dll") Exception calling "LoadFrom" with "1" argument(s): "Could not load file or assembly 'file:///C:UserstestWebDriver.dll' or one of its dependencies. The system cannot find the file specified." At line:1 char:1 + [reflection.assembly]::LoadFrom(".WebDriver.dll") + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [],MethodInvocationException + FullyQualifiedErrorId : FileNotFoundException PS C:UserstestDownloadsselenium-dotnet-2.35.0net40> [reflection.assembly]::LoadFrom("WebDriver.dll") Exception calling "LoadFrom" with "1" argument(s): "Could not load file or assembly 'file:///C:UserstestWebDriver.dll' or one of its dependencies. The system cannot find the file specified." At line:1 char:1 + [reflection.assembly]::LoadFrom("WebDriver.dll") + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [],MethodInvocationException + FullyQualifiedErrorId : FileNotFoundException PS C:UserstestDownloadsselenium-dotnet-2.35.0net40> [reflection.assembly]::LoadFrom("C:UserstestDownloadsselenium-dotnet-2.35.0net40WebDriver.dll") Exception calling "LoadFrom" with "1" argument(s): "Could not load file or assembly 'file:///C:UserstestDownloadsselenium-dotnet-2.35.0net40WebDriver.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)" At line:1 char:1 + [reflection.assembly]::LoadFrom("C:UserstestDownloadsselenium-dotnet-2.35.0 ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [],MethodInvocationException + FullyQualifiedErrorId : FileLoadException PS C:UserstestDownloadsselenium-dotnet-2.35.0net40> [reflection.assembly]::LoadFile("C:UserstestDownloadsselenium-dotnet-2.35.0net40WebDriver.dll") Exception calling "LoadFile" with "1" argument(s): "An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default,so this load may be dangerous. If this load is not intended to sandbox the assembly,please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information." At line:1 char:1 + [reflection.assembly]::LoadFile("C:UserstestDownloadsselenium-dotnet-2.35.0 ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [],MethodInvocationException + FullyQualifiedErrorId : NotSupportedException PS C:UserstestDownloadsselenium-dotnet-2.35.0net40>
如果您从互联网上下载.DLL,默认情况下,Powershell将不会信任它们.你可以在这里做两件事之一:
>取消阻止内容.这是一个guide with some elaboration on the problem,但基本上您只需右键单击下载的文件,选择属性,然后单击常规选项卡中的“取消阻止”.您可以使用Unblock-File cmdlet直接从powershell取消阻止内容. 具体来说,查看和取消阻止您信任的内容似乎是更好的选择,特别是对于您的情况,因为您似乎只会这样做一次并且您信任该软件包. 编辑:如果没有解决这个问题,那么我对此类错误的另一种体验是Powershell与.NET程序集的版本不同.有关某些上下文,请参阅this question,其中Powershell 2.0运行.NET 2运行时,而提问者需要.NET 4才能进行某些程序集. 您没有使用相同版本的PS,因此您的里程可能会有所不同,但我会尝试根据链接的答案创建/编辑配置文件,以支持您正在使用的DLL的运行时. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-8 – 试图获得Windows 8开发人员许可但得
- 部署 – 使用pm2部署时的Windows问题
- Windows Server 2012 Remotedesktop:连接到特定
- windows – 将一个字节的数据附加到文件需要多少
- windows-server-2008 – 经过MS Windows Server
- 如何使用SSE执行uint32 / float转换?
- windows – 我的事件日志中的0x19 KDC_ERR_PREAU
- ms-access – Microsoft Jet的64位替代方案
- 在Windows上跟踪硬件或符号链接
- winforms – 删除Windows窗体中的标准图标