퇴근5분전

이번 프로젝트는 MES DAT 데이타 수집 프로그램 하는 것이다. 

간만에 MS-SQL을 사용하게 되었다. 시간이 많이 흘러 지금은 SSMS2020을 쓴다네...

그래서 프로그램을 업글했다. 

** 테스트상 클라이언트 프로그램을 I:\SSMS20\ 에 설치하였다.

1. VSIX 디렉토리 지정. ( 빌드 이벤트로 XCOPY하던 것을 이것으로 대체 )

 

2. Nuget 패키지 관리에서 .VSSDK 관련 업글 (VS처럼 변경 )

 

3. 참조 경로 추가

 

기존 2018에서 추가한 ssms관련 dll 들에 대한 참조 경로를 현재 SSMS에 맞게 바꿔준다. 

 

4. 레지스트리 등록 ( SSMS 확장을 만들면 프로그램을 올리기 위해 이걸 꼭 등록해야 한다. )

빌드 후에 VSIX에 복사된 디렉토리에 가서

I:\SSMS20\Common7\IDE\Extensions\ssms2020

JSFW.SSMS.Extensibility.pkgdef 파일을 열어보면... 

[$RootKey$\InstalledProducts\VSPackage]
@="#110"
"Package"="{e499b659-abb0-4651-a054-3deb4f5b6541}"

...

GUID를 복사하여 .reg파일을 만든다. 

 

파일명 :: SkipLoading.2020.reg

------------------------ ------------------------ ------------------------ ------------------------ ------------------------

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\SQL Server Management Studio\20.0_IsoShell\Packages\{e499b659-abb0-4651-a054-3deb4f5b6541}]
"SkipLoading"=dword:00000001

------------------------ ------------------------ ------------------------ ------------------------ ------------------------

실행하면 아래처럼 레지스트리에 등록된다.

 

 

디버그 :: 시작 외부 프로그램으로 ssms로 지정하고 실행하면 ssms가 뜨면서 개발한 확장기능들이 동작한다.

###################################################

 

기능중 하나 :: 틀고정.

 

변경시 세가지를 해야 한다. 

 

1. 닷넷 버젼 v4.72 로 변경.

 

2. 매니패스트에 대상 버젼 변경과 CPU아키텍쳐 변경. 

 

변경하면 오류목록에 아래와 같이 나타난다.

 

 

3. Nuget의 .VSSDK로 검색하여 17.xx 로 업데이트

 

업데이트를 마치면

 

재시작 알림이 뜬다. VS를 재시작하고 빌드를 하면

 

Debug폴더에 .vsix 파일로 설치를 해보면...

오류가 생길 수 있다. 

오류가 나면... 매니패스트 가서 

Intall Targets 에 아래 체크박스 두개를 해제.

 

다시 빌드 후 재설치.  (( 캡쳐를 놓쳐서... 삭제후 다시 설치하면서 찍어서 2019가 안보임... ))

 

 

완료!!!

********************** ********************** ********************** ********************** **********************

** 변수 사용처 보는 확장 프로그램에는 로슬린을 사용하기에 설치시 2022버젼 설치가 비활성으로 표시된다. 

C# 및 Visual Basic Roslyn 컴파일러  [16.xxxx.xxx.xxxx ,17.0)  이런 형태로 되어 있어

위처럼 변경해준다.   [16.0, 18.0) 으로 바꿔준다. 

 

vs2022 정보를 보면 17.1로 보이는데... 18이어야 적용이 되네? 

********************** ********************** ********************** ********************** **********************