.net Powershell,无法加载SqlCredential

.net Powershell,无法加载SqlCredential,.net,sql-server,powershell,.net,Sql Server,Powershell,我是PowerShell新手,正在尝试一个执行SQL查询的简单脚本。它在我的Windows 8计算机(PS 3.0)上运行正常,但在客户端计算机(2008R2,PS 2.0)上运行不正常-我在这一行遇到一个异常: $credentials = New-Object System.Data.SqlClient.SqlCredential -argumentlist $user, $password New-Object : Cannot find type [System.Data.SqlCli

我是PowerShell新手,正在尝试一个执行SQL查询的简单脚本。它在我的Windows 8计算机(PS 3.0)上运行正常,但在客户端计算机(2008R2,PS 2.0)上运行不正常-我在这一行遇到一个异常:

$credentials = New-Object System.Data.SqlClient.SqlCredential -argumentlist $user, $password

New-Object : Cannot find type [System.Data.SqlClient.SqlCredential]: make sure the assembly containing this type is loaded.
这两台机器都安装了.NET 2.0-4.0

任何关于如何调试和修复此问题的建议都将不胜感激

另外,我如何知道什么程序集文件/dll定义了给定的类型?例如,如何找到包含
System.Data.SqlClient.SqlCredential
的DLL的完整路径(我在Windows 8计算机上的GAC中没有看到
System.Data.SqlClient
,但它在那里工作…)


谢谢

您是说这些机器安装了.NET 2.0-4.0。但是,.NET 4.5中引入了类
SqlCredential


也许这就是问题所在?也许Win8已经安装了它?

我相信你可以下载.Net 4.5。我相信这会解决你的问题。

在我目前的工作中,我无法升级.Net,因为我正在编写远程运行在服务器上的Powershell脚本,其中一些可能没有最新版本的.Net。例如,我不能使用System.Data.sqlclient.SqlQuery,因为即使加载了大部分System.Data.sqlclient程序集,System.Data.sqlclient.SqlQuery的类也不是该程序集的一部分。太糟糕了,因为许多使用DataAdapter的示例脚本引用了.SQLQuery类,该类位于.Net 4.5中。

interest。NET 4.5不会出现在C:\Windows\Microsoft.NET\Framework下,但我想它是Windows 8的默认版本,可能会出现在其他地方。。。因此,我想这让我无法简单地使用Powershell中的安全连接字符串,除非我还安装了.NET 4.5?@JimBalo-.NET 4.5覆盖了4.0目录中的框架DLL,因此除非您专门查看内容,否则您不会注意到有什么不同。有关详细信息,请参阅本文:相同的问题,但在MacOSX中。有没有办法为.Net Core 2.0加载它?