Powershell smo不同的程序集版本

Powershell smo不同的程序集版本,powershell,sql-server-2012,.net-assembly,smo,Powershell,Sql Server 2012,.net Assembly,Smo,在运行smo脚本时,我遇到了许多奇怪的错误。我想我把它锁定在Powershell上,加载不同的程序集文件。 我从SQL Server 2008更新到2012。此错误仅发生在更新的服务器上,在新安装的2008和2012服务器上可以正常工作。 然后,我使用“sqlps”或通过Microsoft Management Studio打开powershell控制台并运行脚本。然后,我在脚本中遇到了各种各样的错误。 在检查行为时,我发现每当我通过newobject命令创建一个对象时,它都是从这个程序集中加载

在运行smo脚本时,我遇到了许多奇怪的错误。我想我把它锁定在Powershell上,加载不同的程序集文件。
我从SQL Server 2008更新到2012。此错误仅发生在更新的服务器上,在新安装的2008和2012服务器上可以正常工作。
然后,我使用“sqlps”或通过Microsoft Management Studio打开powershell控制台并运行脚本。然后,我在脚本中遇到了各种各样的错误。
在检查行为时,我发现每当我通过
newobject
命令创建一个对象时,它都是从这个程序集中加载的

C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Smo\12.0.0.0__89845DCD80CC91\Microsoft.SqlServer.Smo.dll

但是,当我在sql提供程序PS-PATH上使用
get Item
时,它会从这个

C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Smo\11.0.0.0__89845DCD80CC91\Microsoft.SqlServer.Smo.dll 大会

我认为这就是我偶然发现的所有不同错误的原因

有没有办法告诉powershell使用了哪个程序集?我是否需要更新PS提供程序以使用12.0.0.0版?这是配置问题还是可以在脚本中解决

更新

我已尝试使用手动添加程序集

添加类型-路径“C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Smo\11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.Smo.dll”

而且

添加类型-AssemblyName“Microsoft.SqlServer.SMO,Version=11.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”

我试图强制使用11.0.0.0版,但这对我来说不起作用。似乎在添加程序集后无法重新加载该程序集