2017-12-08 5 views
1

, 나는 두 어셈블리new-object를 말하는 방법은 어떤 버전의 어셈블리입니까? PowerShell에서

#sql server 2012 assembly 
add-type -assembly "microsoft.sqlserver.smo, version=11.0.0.0, culture=neutral, publickeytoken=89845dcd8080cc91"; 
#sql server 2017 assembly 
add-type -assembly "microsoft.sqlserver.smo, version=14.0.0.0, culture=neutral, publickeytoken=89845dcd8080cc91"; 

를로드하려면 다음 코드를 사용하고 난 다음 코드가있는 경우 두 어셈블리는 이제 성공적으로

[AppDomain]::CurrentDomain.GetAssemblies() | where location -like "C:\WINDOWS\assembly\GAC_MSIL\microsoft.sqlserver.smo*" 

enter image description here

를로드 볼 수 있습니다

$svr = new-object "microsoft.sqlserver.management.smo.server" 'localhost'; 

Doe 이 $ svr은 SQL Server 2012 어셈블리 (버전 11.0.0.0) 또는 SQL Server 2017 어셈블리 (버전 14.0.0.0)에서 제공됩니까?

답변

1

로드 할 첫 번째 어셈블리에서 유형이로드됩니다. 유형의 어셈블리를 참조하려면 코드를 사용할 수 있습니다 :

$svr.GetType().Assembly.FullName 

당신이 차이를보고 싶다면, 새 PowerShell 세션에서 다른 순서를 테스트 할 수 있습니다.

+0

정확히 무엇을 찾고 있습니까? 답으로 투표하십시오. 고마워 레자. – jyao

관련 문제