본 자료는
1. 문제 설명
1-1. .NET Compact Framework 버전 변경이 필요한 경우(C# / VB.NET)
1-2. 참조 에러 발생 시 재참조가 필요한 경우(C# / VB.NET)
2. 사전 학습
2-1. IEC-Series 모델별로 사용되는 SmartX 파일 정리
2-2. IEC-Series에 따른 .NET CF 버전 변경 및 SmartX Framework 설치 유무 정리 표
2-3. IEC-Series에 따른 SmartX Framework DLL 변경 파일 관계 안내
3. IEC-Series 간 Project Migration 순서(C# / VB.NET)
3-1. [STEP-1] 대상 장치(IEC-Series)에 맞는 SmartX Framework 버전 설치하기
3-1-1. 2.0에서 3.5 변경되는 경우
3-1-2. SmartX Framework 설치경로
3-2. [STEP-2] SmartX 관련 DLL 파일 참조 확인하기
3-3. [STEP-3].NET Compact Framework 버전 확인 및 변경하기
3-3-1. 변경될 제품에 탑재된 .NET Compact Framework 버전 확인하기
3-2-2. .NET Compact Framework Upgrade & Degrade 하기
4. IEC-Series 간 Project Migration(마이그레이션) 순서(C++ MFC)
순서로 진행합니다.
해당 내용은 SmartX Old Framework(3.2.4 이하의 버전)에서만 적용되는 내용으로 SmartX New Framework에는 적용되지 않는 내용이기 때문에 주의하시기 바랍니다.
-
SmartX New Framework에서 적용되지 않는 이유
SmartX New Framework는 IEC667, IEC1000-Series 제품에서만 지원하고 있으며, .Net Compact Framework 3.5버전만을 지원하고 있습니다. 그렇기 때문에 제품 변경시 Dll파일만 교체하시면 됩니다.
1. 문제 설명
IEC266/IEC667/IEC1000-Series의 기구적인 측면에서는 100% 호환성을 유지합니다. 하지만 소프트웨어(SW)측면에서는 다음과 같은 프로젝트 마이그레이션 과정이 필요합니다.
C++ API | C++ MFC | C# / VB.NET |
---|---|---|
거의 100% 실행 파일 호환성을 갖습니다. | MFC는 SDK 설치 후 재컴파일 해야 합니다. 경우에 따라서는 약간의 소스코드 수정이 발생합니다. |
1. .NET Compact Framework 버전 변경이 필요합니다. 2. 참조 에러 발생 시 재참조가 필요합니다. |
IEC-Series에서 포함된 .NET Compact Framework 버전은 크게 2.0과 3.5버전이 있으며 IEC-Series 모델 변경으로 인해 .NET CF 버전 변경이 필요한 경우에는 "IEC Series에 따른 .NET CF 버전 변경 및 SmartX Framework 설치 유무 정리 표"(하단)를 참고하여 적정 버전의 설치가 필요합니다. .NET Compact Framework의 업그레이드(Upgrade)나 디그레이드(Degrade)에 대한 구현 방법은 "Tech Note 27. .NET Compact Framework 버전 변경하기"를 참고하시기 바랍니다.
1-2. 참조 에러 발생 시 재참조가 필요한 경우 (C# / VB.NET)
SmartX Framework는 모델별(IEC266 / IEC667 / IEC1000)로 참조되는 DLL 파일이 다릅니다. 개발 장비(IEC-Series)의 모델이 변경되는 경우 .NET Compact Framework 버전도 변경되어야 하며 SmartX Framework를 사용한 경우에는 SmartX의 재설치 및 재참조가 필요합니다. SmartX의 재참조 관련 제거/추가가 필요한 경우에는 "IEC-Series에 따른 .NET CF 버전 변경 및 SmartX Framework 설치 유무 정리 표"(하단)를 참고하시기 바랍니다.
2. 사전학습 2-1. IEC-Series 모델별로 사용되는 SmartX 파일 정리
SmartX Framework dll 종류 |
IEC266 | IEC667 | IEC1000 | 분류 |
---|---|---|---|---|
SmartX_IEC○○○.dll | SmartX_ IEC266.dll |
SmartX_ IEC667.dll |
SmartX_ IEC1000.dll |
비UI |
SmartX Common.dll |
SmartX Common.dll |
UI | ||
SmartXCommonExt.dll | SmartXCommonExt.dll | 비UI |
기존 IEC-Series | 변경 IEC-Series | .NET CF 버전 | SmartX Framework 설치 | 참조 변경 |
---|---|---|---|---|
IEC266 (2.0) |
IEC667 (2.0) |
2.0버전 유지 | SmartX .NET CF 2.0 설치 대상장치 IEC667-Series 선택 |
SmartX_IEC266.dll 제거 SmartX_IEC667.dll 추가 |
IEC667 (3.5) |
3.5버전 업그레이드 | SmartX .NET CF 3.5 설치 대상장치 IEC667-Series 선택 |
||
IEC1000 (3.5) |
3.5버전 업그레이드 | SmartX .NET CF 3.5 설치 대상장치 IEC1000-Series 선택 |
SmartX_IEC266.dll 제거 SmartX_IEC1000.dll 추가 |
|
IEC667(2.0) | IEC266(2.0) | 2.0버전 유지 | SmartX .NET CF 2.0 설치 대상장치 IEC266-Series 선택 |
SmartX_IEC667.dll 제거 SmartX_IEC266.dll 추가 |
IEC667(3.5) | 3.5버전 업그레이드 | SmartX .NET CF 3.5 설치 대상장치 IEC667-Series 선택 |
변경 없음 | |
IEC1000(3.5) | 3.5버전 업그레이드 | SmartX .NET CF 3.5 설치 대상장치 IEC1000-Series 선택 |
SmartX_IEC667.dll 제거 SmartX_IEC1000.dll 추가 |
|
IEC667(3.5) | IEC266(2.0) | 2.0버전 디그레이드 | SmartX .NET CF 2.0 설치 대상장치 IEC266-Series 선택 |
SmartX_IEC667.dll 제거 SmartX_IEC266.dll 추가 |
IEC667(2.0) | 2.0버전 디그레이드 | SmartX .NET CF 2.0 설치 대상장치 IEC667-Series 선택 |
변경 없음 | |
IEC1000(3.5) | 3.5버전 유지 | SmartX .NET CF 3.5 설치 대상장치 IEC1000-Series 선택 |
SmartX_IEC667.dll 제거 SmartX_IEC1000.dll 추가 |
|
IEC1000(3.5) | IEC266(2.0) | 2.0버전 디그레이드 | SmartX .NET CF 2.0 설치 대상장치 IEC266-Series 선택 |
SmartX_IEC1000.dll 제거 SmartX_IEC266.dll 추가 |
IEC667(2.0) | 2.0버전 디그레이드 | SmartX .NET CF 2.0 설치 대상장치 IEC667-Series 선택 |
SmartX_IEC1000.dll 제거 SmartX_IEC667.dll 추가 |
|
IEC667(3.5) | 3.5버전 유지 | SmartX .NET CF 3.5 설치 대상장치 IEC667-Series 선택 |
SmartX_IEC1000.dll 제거 SmartX_IEC667.dll 추가 |
기존 IEC Series |
변경 IEC Series |
.NET CF 버전 |
SmartX Framework 설치 |
참조 변경 |
---|---|---|---|---|
IEC 266 (2.0) |
IEC 667 (2.0) |
2.0버전 유지 |
SmartX .NET CF 2.0 설치 대상장치 IEC667 Series 선택 |
SmartX_ IEC266.dll 제거 SmartX_ IEC667.dll 추가 |
IEC 667 (3.5) |
3.5버전 업그레이드 |
SmartX .NET CF 3.5 설치 대상장치 IEC667 Series 선택 |
||
IEC1000 (3.5) |
3.5버전 업그레이드 |
SmartX .NET CF 3.5 설치 대상장치 IEC1000 Series 선택 |
SmartX_ IEC266.dll 제거 SmartX_ IEC1000.dll 추가 |
|
IEC 667 (2.0) |
IEC266 (2.0) |
2.0버전 유지 |
SmartX .NET CF 2.0 설치 대상장치 IEC266 Series 선택 |
SmartX_ IEC667.dll 제거 SmartX_ IEC266.dll 추가 |
IEC667 (3.5) |
3.5버전 업그레이드 |
SmartX .NET CF 3.5 설치 대상장치 IEC667 Series 선택 |
변경 없음 | |
IEC1000 (3.5) |
3.5버전 업그레이드 |
SmartX .NET CF 3.5 설치 대상장치 IEC1000 Series 선택 |
SmartX_ IEC667.dll 제거 SmartX_ IEC1000.dll 추가 |
|
IEC 667 (3.5) |
IEC266 (2.0) |
2.0버전 디그레이드 |
SmartX .NET CF 2.0 설치 대상장치 IEC266 Series 선택 |
SmartX_ IEC667.dll 제거 SmartX_ IEC266.dll 추가 |
IEC667 (2.0) |
2.0버전 디그레이드 |
SmartX .NET CF 2.0 설치 대상장치 IEC667 Series 선택 |
변경 없음 | |
IEC1000 (3.5) |
3.5버전 유지 |
SmartX .NET CF 3.5 설치 대상장치 IEC1000 Series 선택 |
SmartX_ IEC667.dll 제거 SmartX_ IEC1000.dll 추가 |
|
IEC 1000 (3.5) |
IEC266 (2.0) |
2.0버전 디그레이드 |
SmartX .NET CF 2.0 설치 대상장치 IEC266 Series 선택 |
SmartX_ IEC1000.dll 제거 SmartX_ IEC266.dll 추가 |
IEC667 (2.0) |
2.0버전 디그레이드 |
SmartX .NET CF 2.0 설치 대상장치 IEC667 Series 선택 |
SmartX_ IEC1000.dll 제거 SmartX_ IEC667.dll 추가 |
|
IEC667 (3.5) |
3.5버전 유지 |
SmartX .NET CF 3.5 설치 대상장치 IEC667 Series 선택 |
SmartX_ IEC1000.dll 제거 SmartX_ IEC667.dll 추가 |
2-3. IEC Series에 따른 SmartX Framework DLL 변경 파일 관계 안내
3. IEC-Series 간 Project Migration(마이그레이션) 순서(C#, VB.NET) 3-1. [STEP-1] 대상 장치(IEC-Series)에 맞는 SmartX Framework 버전 설치하기
대상 프로젝트의 .NET Compact Framework 버전과 현재 설치된 SmartX Framework 버전이 다를 경우 해당 프로젝트에 맞는 SmartX 설치파일을 다운로드 받아 설치합니다. 하단의 .NET Compact Framework 버전에 따른 설치 파일의 표를 참고바랍니다.
3-1-1. 2.0에서 3.5 변경되는 경우
[CASE-1] 2.0 → 3.5로 변경되는 경우 ②를 다운로드
- ※ IEC266-Series(.NET CF 2.0) → IEC667-Series(.NET CF 3.5)
- ※ IEC667-Series(.NET CF 2.0) → IEC1000-Series(.NET CF 3.5)
[CASE-2] 3.5 → 2.0로 변경되는 경우 ①를 다운로드
- ※ IEC667-Series(.NET CF 3.5) → IEC266-Series(.NET CF 2.0)
- ※ IEC1000-Series(.NET CF 3.5) → IEC667-Series(.NET CF 2.0)
설치경로는 SmartX Framework 설치 완료 후 설치 정보에서 확인 가능합니다.
OS 32Bit인 경우 | “OS Drive://Program Files\HNS\Embedded SmartX Component” |
---|---|
OS 64Bit인 경우 | “OS Drive://Program Files(x86)\HNS\Embedded SmartX Component” |
대상 제품의 변경에 따라 SmartX Framework 설치가 새롭게 되어 기존에 참조 되어있는 정보를 수정하셔야 합니다. (참조 제거 후 새롭게 추가)
대상 파일 : SmartX_IECXXX.dll, SmartXCommon.dll
- [STEP-1] 참조(References)에서 오른쪽 버튼을 눌러 [SmartX_IEC266], [SmartCommon.dll]를 제거합니다.
- [STEP-2] 참조(References) 항목에서 오른쪽 버튼을 클릭하여 참조 추가 버튼을 누릅니다.
- [STEP-3] 오른쪽 버튼을 눌러 [SmartX_IEC1000], [SmartXCommon.dll]를 추가 합니다. 경로는 SmartX 설치 경로를 참고하시기 바랍니다.
- [STEP-4] [파일 → [모두 저장]을 선택하여 프로젝트를 저장합니다.
3-3. [STEP-3].NET Compact Framework 버전 확인 및 변경하기 3-3-1. 변경될 제품에 탑재된 .NET Compact Framework 버전 확인하기
대상 프로젝트의 .NET Compact Framework 버전을 확인해야 합니다. 확인 방법은 크게 2가지가 있습니다.
확인 방법 11)*.csproj 확장명을 가진 파일을 메모장에서 실행합니다.
2) 메모장에서 빨강 네모박스 위치가 v2.0인지 또는 v3.5인지 확인합니다. v2.0은 .NET CF 2.0이며 v3.5는 .NET CF 3.5입니다.
프로젝트를 실행하고 속성(Property)의 네모박스 위치가 v2.0인지 또는 v3.5인지 확인합니다. v2.0은 .NET CF 2.0이며 v3.5는 .NET CF 3.5입니다.
3-2-2. .NET Compact Framework Upgrade & Degrade하기
1) .NET Compact Framework Upgrade 하기 (.Net Compact Framework 2.0 → 3.5)
2. .NET Compact Framework Degrade 하기 (.Net Compact Framework 3.5 → 2.0)
4. IEC-Series 간 Project Migration(마이그레이션) 순서(C++ MFC)
Ex) IEC266에서 IEC667으로 경우를 설명합니다.
- [STEP-1] 다운로드 받기
다운로드 위치 : 자료실 > 제품관련 > 6. IEC667-Series SDK 설치파일 - [STEP-2] 설치하기
- [STEP-3] Setup Type은 Custom으로 설정
- [STEP-4] Documentation의 Entirefeture will be unavailable을 선택
- [STEP-5] Finish로 설치 완료
- [STEP-6] 기존 프로젝트(IEC266)을 OPEN → [구성 관리자] 클릭
- [STEP-7] [새로 만들기] 선택
- [STEP-8] [새 프로젝트 플랫폼]에서 [IEC667 (ARMV4I)]선택
- [STEP-9] [빌드] → [솔루션 빌드] 선택
[SDK 설치파일 위치] : 자료실 > 제품관련 > 6. IEC-Series SDK 설치파일