Browse Source

기능 수정

main
최승민 1 week ago
parent
commit
10a3083a18
  1. 154
      README.md
  2. 2
      leak_test_project/Models/AppConfig.cs
  3. 36
      leak_test_project/Services/Board4253SensorService.cs
  4. 33
      leak_test_project/Services/TestProcessService.cs
  5. 44
      leak_test_project/ViewModels/HomeViewModel.cs
  6. 28
      leak_test_project/Views/HomeView.xaml
  7. 1
      leak_test_project/bin/Release/Logs/2026-04-13_system.log
  8. BIN
      leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/leak_test_project.exe.deploy
  9. 0
      leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/PCI-Dask.dll.deploy
  10. 0
      leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.config.deploy
  11. BIN
      leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.deploy
  12. 8
      leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.manifest
  13. 10
      leak_test_project/bin/Release/app.publish/leak_test_project.application
  14. BIN
      leak_test_project/bin/Release/app.publish/leak_test_project.exe
  15. 6
      leak_test_project/bin/Release/leak_test_project.application
  16. BIN
      leak_test_project/bin/Release/leak_test_project.exe
  17. 6
      leak_test_project/bin/Release/leak_test_project.exe.manifest
  18. BIN
      leak_test_project/bin/Release/leak_test_project.pdb
  19. 2
      leak_test_project/leak_test_project.csproj
  20. BIN
      leak_test_project/obj/Release/App.baml
  21. BIN
      leak_test_project/obj/Release/MainWindow.baml
  22. BIN
      leak_test_project/obj/Release/Views/HomeView.baml
  23. 2
      leak_test_project/obj/Release/Views/HomeView.g.cs
  24. 2
      leak_test_project/obj/Release/Views/HomeView.g.i.cs
  25. 6
      leak_test_project/obj/Release/leak_test_project.application
  26. BIN
      leak_test_project/obj/Release/leak_test_project.exe
  27. 6
      leak_test_project/obj/Release/leak_test_project.exe.manifest
  28. BIN
      leak_test_project/obj/Release/leak_test_project.g.resources
  29. BIN
      leak_test_project/obj/Release/leak_test_project.pdb
  30. 4
      leak_test_project/obj/Release/leak_test_project_MarkupCompile.cache

154
README.md

@ -18,8 +18,12 @@ leak_test_project/
│ ├── InOutItem.cs # I/O 항목 모델 (Address, Name, Description, Value) │ ├── InOutItem.cs # I/O 항목 모델 (Address, Name, Description, Value)
│ ├── InspectData.cs # 검사 결과 데이터 모델 (12개 필드) │ ├── InspectData.cs # 검사 결과 데이터 모델 (12개 필드)
│ ├── ParsedData.cs # Sentinel C28 파싱 결과 모델 (MeasuredValue, SensorJudgment 등) │ ├── ParsedData.cs # Sentinel C28 파싱 결과 모델 (MeasuredValue, SensorJudgment 등)
│ └── SensorIdData.cs # ZMDI 센서 ID 데이터 모델 (LowID, Year/Month/Day, Serial 등) │ └── SensorIdData.cs # 센서 ID 데이터 모델 (LowID, Year/Month/Day, Serial 등)
├── Services/ # 비즈니스 로직 및 기기 제어 ├── Services/ # 비즈니스 로직 및 기기 제어
│ ├── Board4253Service.cs # [신규] 4253 보드 통신 서비스 (<end> 기반 프로토콜)
│ ├── Board4253SensorService.cs # [신규] 4253 보드 ID 센서 서비스 (IIdSensorService 구현)
│ ├── Board4253DioBoard.cs # [신규] 4253 보드 DIO 구현체 (IDioBoard 구현)
│ ├── IIdSensorService.cs # [신규] ID 센서 추상화 인터페이스 (ZMDI/4253 공통)
│ ├── DioBoardFactory.cs # DIO 보드 팩토리 (DioConfig.ini 기반 보드 생성) │ ├── DioBoardFactory.cs # DIO 보드 팩토리 (DioConfig.ini 기반 보드 생성)
│ ├── IoBoardService.cs # I/O 보드 서비스 (IDioBoard 연동, 상태 갱신/출력 제어) │ ├── IoBoardService.cs # I/O 보드 서비스 (IDioBoard 연동, 상태 갱신/출력 제어)
│ ├── SentinelC28Service.cs # Sentinel C28 프로토콜 (자동 재연결 포함) │ ├── SentinelC28Service.cs # Sentinel C28 프로토콜 (자동 재연결 포함)
@ -69,20 +73,41 @@ leak_test_project.Tests/ # 단위 테스트 프로젝트 (xUnit/NUnit)
- 측정값(sccm), SPEC 범위(UL/LL), 판정(OK/NG) 실시간 확인 - 측정값(sccm), SPEC 범위(UL/LL), 판정(OK/NG) 실시간 확인
- 판정 결과에 따른 배경색 자동 변경 (OK=녹색, NG=빨간색) - 판정 결과에 따른 배경색 자동 변경 (OK=녹색, NG=빨간색)
- 좌/우 채널별 상태(Status) 및 오류(Error) 메시지 표시 - 좌/우 채널별 상태(Status) 및 오류(Error) 메시지 표시
- ZMDI 센서 ID 정보 (LowID, 제조일, 시리얼, 라인, 제품 구분) 실시간 표시 - 센서 ID 정보 (LowID, 제조일, 시리얼, 라인, 제품 구분) 실시간 표시
- **ID 테스트 (L/R)** 버튼을 통한 센서 단독 통신 테스트 기능
### 2. 자동 시험 프로세스 (TestProcessService) ### 2. 자동 시험 프로세스 (TestProcessService)
DIO 시작 신호를 기반으로 좌/우 독립 백그라운드 스레드에서 아래 사이클을 반복합니다: DIO 시작 신호를 기반으로 좌/우 독립 백그라운드 스레드에서 아래 사이클을 반복합니다:
1. **DIO 시작 신호 대기**: LEFT_START / RIGHT_START 입력 신호 OFF→ON 감지 1. **DIO 시작 신호 대기**: LEFT_START / RIGHT_START 입력 신호 OFF→ON 감지
2. **ZMDI 센서 ID 읽기**: 4단계 시리얼 명령 시퀀스로 제품 ID 파싱 2. **센서 ID 읽기**: IIdSensorService를 통해 제품 ID 파싱 (ZMDI 또는 4253 보드)
3. **불량 제품 필터링**: 센서의 이전 검사 결과(PrevResult) 확인 3. **불량 제품 필터링**: 센서의 이전 검사 결과(PrevResult) 확인
4. **LEAK 시험 수행**: Sentinel C28 최종 결과 수신 대기 (30초 타임아웃) 4. **LEAK 시험 수행**: Sentinel C28 최종 결과 수신 대기 (60초 타임아웃)
5. **판정**: 프로그램 SPEC(UL/LL) 기반 OK/NG 판정 5. **판정**: 프로그램 SPEC(UL/LL) 기반 OK/NG 판정
6. **SPEC 교차 검증**: 프로그램 판정과 센서 자체 판정(A/R) 비교, 불일치 시 경고 6. **SPEC 교차 검증**: 프로그램 판정과 센서 자체 판정(A/R) 비교, 불일치 시 경고
7. **로그 기록**: 일일 CSV 파일에 검사 결과 자동 저장 7. **로그 기록**: 일일 CSV 파일에 검사 결과 자동 저장
8. **DIO 출력**: 판정 결과에 따라 OK/NG 출력 신호 전송 8. **DIO 출력**: 판정 결과에 따라 OK/NG 출력 신호 전송
#### 판정 로직 상세
**프로그램 판정 (SentinelParser.EvaluateJudgment)**
```
측정값(sccm)이 하한(SpecLL) ≤ 값 ≤ 상한(SpecUL) 범위 내 → OK
범위 밖 → NG
```
**센서 판정 (C28 장비 내장)**
- C28 장비가 자체적으로 Accept(A) / Reject(R) 판정을 내려 전송
**SPEC 교차 검증**
- 프로그램 판정(OK→A, NG→R)과 센서 판정(A/R)을 정규화하여 비교
- 불일치 시 `SpecMismatch` 플래그를 활성화하고 콘솔/로그에 경고 출력
**타임아웃 처리**
- 60초 내 C28 결과 미수신 시 자동으로 NG 판정 처리
- 타임아웃 시에도 UI 그리드와 CSV 로그에 NG(센서판정: T/O) 기록 남김
- DIO NG 출력 신호도 정상적으로 전송
### 3. DIO 보드 제어 (ADLINK PCI) ### 3. DIO 보드 제어 (ADLINK PCI)
- **ADLINK PCI DIO 보드** 연동 (PCIS-DASK API 사용) - **ADLINK PCI DIO 보드** 연동 (PCIS-DASK API 사용)
- **INI 설정 기반** 입출력 포인트 매핑 (`Settings/DioConfig.ini`) - **INI 설정 기반** 입출력 포인트 매핑 (`Settings/DioConfig.ini`)
@ -94,7 +119,7 @@ DIO 시작 신호를 기반으로 좌/우 독립 백그라운드 스레드에서
- **RS-232 시리얼 통신**: 기본 9600 baud, 8N1 - **RS-232 시리얼 통신**: 기본 9600 baud, 8N1
- **표준 프로토콜 준수**: 헤더(XXYYZZZ H) + CRC-8 체크섬 자동 생성 - **표준 프로토콜 준수**: 헤더(XXYYZZZ H) + CRC-8 체크섬 자동 생성
- **다중 데이터 처리**: 최종 결과(R), 실시간 스트리밍(S), 메시지(M) 구분 수신 - **다중 데이터 처리**: 최종 결과(R), 실시간 스트리밍(S), 메시지(M) 구분 수신
- **자동 재연결**: 연결 끊김 시 **1초(1000ms) 간격**으로 모든 통신(C28, ZMDI)의 자동 복구를 시도하여 사용자 개입 최소화 - **자동 재연결**: 연결 끊김 시 **1초(1000ms) 간격**으로 모든 통신(C28, 센서)의 자동 복구를 시도하여 사용자 개입 최소화
- **확장성**: ICommunication 인터페이스 기반으로 TCP/IP 등 통신 방식 변경 가능 - **확장성**: ICommunication 인터페이스 기반으로 TCP/IP 등 통신 방식 변경 가능
### 5. 입출력 모니터 (In/Out Monitor) ### 5. 입출력 모니터 (In/Out Monitor)
@ -112,8 +137,8 @@ DIO 시작 신호를 기반으로 좌/우 독립 백그라운드 스레드에서
### 7. 설정 관리 ### 7. 설정 관리
- **파라미터 설정**: SPEC UL/LL (sccm) 값 설정 및 저장 - **파라미터 설정**: SPEC UL/LL (sccm) 값 설정 및 저장
- **통신 설정**: 좌/우 ZMDI 장비 포트(기본 COM9/COM8, 보드레이트 공유 19200)와 센서 포트(기본 COM1, 보드레이트 9600)를 각각 독립 설정 - **통신 설정**: 좌/우 센서 장비 포트(기본 COM9/COM8, 보드레이트 공유 19200)와 C28 센서 포트(기본 COM1, 보드레이트 9600)를 각각 독립 설정
- **XML 설정 파일**: `config.xml`에 자동 저장/로드, 설정 변경 시 `ConfigChanged` 이벤트를 통해 모든 통신 서비스(Sentinel C28, ZMDI 센서)와 자동 시험 프로세스가 재시작되어 즉시 반영 - **XML 설정 파일**: `config.xml`에 자동 저장/로드, 설정 변경 시 `ConfigChanged` 이벤트를 통해 모든 통신 서비스(Sentinel C28, 센서)와 자동 시험 프로세스가 재시작되어 즉시 반영
- **DIO 설정 파일**: `Settings/DioConfig.ini`에서 보드 타입, 입출력 포인트 이름/설명 관리 - **DIO 설정 파일**: `Settings/DioConfig.ini`에서 보드 타입, 입출력 포인트 이름/설명 관리
### 8. 일일 CSV 로그 자동 저장 ### 8. 일일 CSV 로그 자동 저장
@ -127,10 +152,81 @@ DIO 시작 신호를 기반으로 좌/우 독립 백그라운드 스레드에서
- 시리얼 포트, DIO 보드, 타이머 등 리소스 종료 시 안전 해제 (IDisposable 패턴) - 시리얼 포트, DIO 보드, 타이머 등 리소스 종료 시 안전 해제 (IDisposable 패턴)
- 모든 통신/파일 I/O 구간에 예외 처리 적용 - 모든 통신/파일 I/O 구간에 예외 처리 적용
- ZMDI 통신 명령 실패 시 최대 3회 재시도 - ZMDI 통신 명령 실패 시 최대 3회 재시도
- **포트 연결 알림**: 프로그램 초기화 또는 설정 변경 시 모든 포트(C28, ZMDI Left/Right)의 연결 상태를 즉시 확인하고, 하나라도 실패 시 메인 화면 오류 영역에 즉시 표시 (상세 오류 원인 및 포트 번호 포함) - **포트 연결 알림**: 프로그램 초기화 또는 설정 변경 시 모든 포트(C28, 센서 Left/Right)의 연결 상태를 즉시 확인하고, 하나라도 실패 시 메인 화면 오류 영역에 즉시 표시 (상세 오류 원인 및 포트 번호 포함)
- **1초 자동 복구**: 모든 통신 포트에 대해 1초 주기로 상시 자동 재연결 시도 (재진입 방지 포함) - **1초 자동 복구**: 모든 통신 포트에 대해 1초 주기로 상시 자동 재연결 시도 (재진입 방지 포함)
- **통신 설정 변경 반영**: 설정 저장 시 즉시 통신 포트와 자동 시험 프로세스를 재시작하여 프로그램 재시작 없이 설정 변경 내용 적용 가능 - **통신 설정 변경 반영**: 설정 저장 시 즉시 통신 포트와 자동 시험 프로세스를 재시작하여 프로그램 재시작 없이 설정 변경 내용 적용 가능
---
## 🔌 신규 4253 보드 통합
기존 ZMDI 센서 방식에 추가하여, 신규 4253 보드를 통한 제품 ID 읽기 기능이 구현되었습니다.
### 아키텍처
`IIdSensorService` 인터페이스를 도입하여 기존 `ZmdiSensorService`와 신규 `Board4253SensorService`를 동일한 추상화로 교체 가능하도록 설계되었습니다.
```text
IIdSensorService (인터페이스)
├── ZmdiSensorService # 기존 ZMDI 센서 (4단계 시리얼 명령)
└── Board4253SensorService # 신규 4253 보드 (2단계 명령: 상태확인 + ID읽기)
```
### 관련 파일
| 파일 | 역할 |
| :--- | :--- |
| `Services/IIdSensorService.cs` | ID 센서 공통 인터페이스 (Connect, Disconnect, ReadSensor) |
| `Services/Board4253Service.cs` | 4253 보드 시리얼 통신 코어 (명령 송수신, `<end>` 기반 프로토콜, 자동 재연결) |
| `Services/Board4253SensorService.cs` | 4253 보드 ID 센서 서비스 (상태 확인 → ID 읽기 → SensorIdData 구성) |
| `Services/Board4253DioBoard.cs` | 4253 보드 DIO 구현체 (IDioBoard 인터페이스 구현) |
### 4253 보드 통신 프로토콜
- **포트 공유**: 좌/우 센서가 하나의 시리얼 포트를 공유하며, 채널 번호(`001`=좌, `002`=우)로 구분
- **응답 종료 조건**: `<end>`, `Success`, `Fail` 키워드 또는 16자리 영숫자 ID 감지 시 수신 완료 처리
- **타임아웃**: 기본 5000ms (보드 응답 지연 고려), 센서 서비스에서는 15000ms로 확장 대기
- **자동 재연결**: 1초 주기로 연결 상태 감시 및 자동 복구
- **송수신 재시도**: 타임아웃 발생 시 최대 3회 리트라이 (300ms 간격)
### 4253 보드 ID 읽기 절차
| 단계 | 동작 | 명령어 예시 |
| :--- | :--- | :--- |
| **1단계** | 보드 상태 확인 | `x00c_001101:owt28006727ea97c7801` (CH1) |
| **2단계** | ID 읽기 | `x00c_001101:ow2800326003e` (CH1) |
- **상태 확인**: 응답에 `Success`가 포함되면 정상, `Fail`이면 중단
- **ID 파싱**: 응답 데이터에서 에코 라인과 키워드를 제외한 16자리 영숫자 패턴(`[A-Za-z0-9]{16}`)을 추출
### ID 끝자리 'F' 재시도 로직
4253 보드에서 읽은 ID의 끝자리가 `F`인 경우, 통신 오류로 인한 잘못된 값일 가능성이 있어 자동으로 재시도합니다.
```text
[시작] ID 읽기 요청
[1차 시도] ReadIdAsync(channel)
끝자리 == 'F'? ──YES──→ 500ms 대기 후 재시도
│ ↓
NO [2차 시도] ReadIdAsync(channel)
↓ ↓
[사용] 끝자리 == 'F'? ──YES──→ 500ms 대기 후 재시도
│ ↓
NO [3차 시도(최종)] ReadIdAsync(channel)
↓ ↓
[사용] 끝자리가 여전히 'F'이면
경고 로그 출력 후 해당 ID 그대로 사용
```
- **최대 재시도 횟수**: 3회 (최초 1회 + 추가 2회)
- **재시도 간격**: 500ms
- **진행 상태 표시**: 재시도 시 `ProgressMessage` 이벤트로 UI에 알림
- **3회 모두 'F'로 끝나는 경우**: 마지막 값을 그대로 사용하고 경고 메시지 출력
---
## 📡 기기 통신 프로토콜 및 명령어 (Command Details) ## 📡 기기 통신 프로토콜 및 명령어 (Command Details)
프로그램에서 사용하는 주요 하드웨어 통신 명령어 및 절차입니다. 프로그램에서 사용하는 주요 하드웨어 통신 명령어 및 절차입니다.
@ -165,6 +261,8 @@ Sentinel C28과의 통신은 `9600 Baud, 8N1` 시리얼 통신을 사용하며,
- `R (Result)`: 최종 검사 완료 후 수신되는 결과 데이터 (채널#, 시리얼, 측정값, 판정 등 포함) - `R (Result)`: 최종 검사 완료 후 수신되는 결과 데이터 (채널#, 시리얼, 측정값, 판정 등 포함)
- `S (Streaming)`: 시험 진행 중 실시간으로 수신되는 압력/유량 데이터 - `S (Streaming)`: 시험 진행 중 실시간으로 수신되는 압력/유량 데이터
- **LEAK 시험 대기 타임아웃**: 기계의 실제 측정 시간이 약 30초이므로, 프로그램은 **60초** 동안 C28 최종 결과를 대기합니다. 60초 내에 결과가 수신되지 않으면 자동으로 NG 처리됩니다.
- **SPEC 교차 검증**: C28 센서의 자체 판정(A=Accept, R=Reject)과 프로그램의 UL/LL 기반 판정을 비교하여 불일치 시 경고 메시지를 표시합니다. - **SPEC 교차 검증**: C28 센서의 자체 판정(A=Accept, R=Reject)과 프로그램의 UL/LL 기반 판정을 비교하여 불일치 시 경고 메시지를 표시합니다.
--- ---
@ -192,8 +290,47 @@ ADLINK PCI DIO 보드와의 통신은 PCIS-DASK API(PCI-Dask.dll)를 사용합
--- ---
## 📋 변경 이력
### 2026-04-13
#### LEAK 시험 타임아웃 개선 (`TestProcessService.cs`)
- **문제**: 기계 측정 시간이 약 30초인데 프로그램 대기 타임아웃도 30초로 동일하게 설정되어 있어, 기계가 불량(NG)을 판정하여 결과 데이터를 전송하려는 시점에 프로그램이 이미 타임아웃으로 넘어가버리는 현상 발생. 또한 타임아웃 발생 시 UI와 로그에 결과가 남지 않는 문제 존재.
- **수정 내용**:
- C28 결과 대기 타임아웃을 **30초 → 60초**로 확장하여, 기계의 측정 시간(약 30초)을 충분히 수용
- 타임아웃 발생 시에도 **UI 그리드에 NG 결과 표시** (`TestCompleted` 이벤트에 `Judgment="NG"`, `SensorJudgment="T/O"` 전달)
- 타임아웃 발생 시에도 **CSV 로그 파일에 NG 기록** (`FileLogger.LogInspectData` 호출)
- DIO **NG 출력 신호** 정상 전송 유지
#### 4253 보드 ID 끝자리 'F' 재시도 로직 추가 (`Board4253SensorService.cs`)
- **문제**: 4253 보드에서 ID를 읽을 때 간헐적으로 끝자리가 'F'인 잘못된 값이 읽히는 현상 발생
- **수정 내용**:
- ID 읽기 후 끝자리가 `F`(대소문자 무관)인 경우 **최대 2번 추가 재시도** (총 3회 시도)
- 각 재시도 전 **500ms 대기**하여 보드 안정화
- 재시도 시 **ProgressMessage 이벤트**로 UI에 진행 상황 알림
- 3회 모두 실패 시 마지막으로 읽은 ID를 그대로 사용하되 경고 메시지 출력
### 2026-04-10
#### 4253 보드 듀얼 채널 통합 (`Board4253Service.cs`, `Board4253SensorService.cs`)
- 좌/우 센서가 하나의 시리얼 포트를 공유하도록 `AppConfig` 모델 통합
- 채널별 명령어 분리 (`001`=좌, `002`=우)
- `CommunicationWindow` UI에서 포트 설정 통합 반영
#### 4253 보드 상태 확인 게이트키퍼 복원
- `CheckStatusAsync()` 호출 후 `Fail` 응답 시 ID 읽기 중단
- 타임아웃 5000ms로 설정하여 하드웨어 응답 시간 수용
#### ID 센서 단독 테스트 기능 추가 (`TestProcessService.ExecuteSensorTestAsync`)
- 하단 메뉴에 "ID Test (L)" / "ID Test (R)" 버튼 추가
- 실제 검사와 동일한 시퀀스(UI 초기화 → 센서 읽기 → 데이터 표시)를 재현
- 센서 통신 및 하드웨어 동작을 독립적으로 확인 가능
---
## 🛠 유지보수 가이드 ## 🛠 유지보수 가이드
- **센서 보드 교체**: `IIdSensorService` 인터페이스를 구현하는 새 서비스 클래스를 작성하고, `HomeViewModel`에서 주입 대상을 변경하면 됨
- **통신 방식 변경**: `Infrastructure/` 폴더에 `TcpProvider` 등을 추가하고 `ICommunication`을 구현하면 UI 수정 없이 변경 가능 - **통신 방식 변경**: `Infrastructure/` 폴더에 `TcpProvider` 등을 추가하고 `ICommunication`을 구현하면 UI 수정 없이 변경 가능
- **프로토콜 수정**: Sentinel C28의 명령어나 데이터 형식이 바뀌면 `Services/SentinelC28Service.cs``Utils/SentinelParser.cs` 수정 - **프로토콜 수정**: Sentinel C28의 명령어나 데이터 형식이 바뀌면 `Services/SentinelC28Service.cs``Utils/SentinelParser.cs` 수정
- **CRC 알고리즘**: 제조사 사양서에 정확한 다항식이 명시되어 있다면 `Utils/SentinelCrc8.cs` 교체 필요 - **CRC 알고리즘**: 제조사 사양서에 정확한 다항식이 명시되어 있다면 `Utils/SentinelCrc8.cs` 교체 필요
@ -204,6 +341,7 @@ ADLINK PCI DIO 보드와의 통신은 PCIS-DASK API(PCI-Dask.dll)를 사용합
- **시험 프로세스 수정**: `Services/TestProcessService.cs``ProcessProc()` 메서드에서 시험 단계 추가/변경 - **시험 프로세스 수정**: `Services/TestProcessService.cs``ProcessProc()` 메서드에서 시험 단계 추가/변경
- **ZMDI 명령 시퀀스 수정**: `Services/ZmdiSensorService.cs``_commandList1~4` 배열 수정 - **ZMDI 명령 시퀀스 수정**: `Services/ZmdiSensorService.cs``_commandList1~4` 배열 수정
- **ID 디코딩 테이블 수정**: `Services/ZmdiSensorService.cs``_yearHexList`, `_monthList`, `_dayHexList` 등 업데이트 - **ID 디코딩 테이블 수정**: `Services/ZmdiSensorService.cs``_yearHexList`, `_monthList`, `_dayHexList` 등 업데이트
- **4253 보드 명령어 수정**: `Services/Board4253Service.cs``CheckStatusAsync()`, `ReadIdAsync()` 메서드에서 전송 명령어 변경
- **사용자 매뉴얼**: `Manual/` 폴더에서 각 화면별 사용 설명서 확인 및 수정 가능 - **사용자 매뉴얼**: `Manual/` 폴더에서 각 화면별 사용 설명서 확인 및 수정 가능
## 🧪 테스트 ## 🧪 테스트

2
leak_test_project/Models/AppConfig.cs

@ -8,7 +8,7 @@ namespace leak_test_project.Models
public class AppConfig public class AppConfig
{ {
public IdSensorType SelectedIdSensor { get; set; } = IdSensorType.ZMDI; public IdSensorType SelectedIdSensor { get; set; } = IdSensorType.Board4253;
public string LeftPort { get; set; } = "COM9"; public string LeftPort { get; set; } = "COM9";
public string RightPort { get; set; } = "COM8"; public string RightPort { get; set; } = "COM8";

36
leak_test_project/Services/Board4253SensorService.cs

@ -57,25 +57,57 @@ namespace leak_test_project.Services
return null; return null;
} }
// 2. ID 읽기 (16자리) // 2. ID 읽기 (끝자리가 F일 경우 최대 3회 시도)
string idCmd = $"x00c_00{channel}101:ow2800326003e"; string idCmd = $"x00c_00{channel}101:ow2800326003e";
string rawId = null;
int maxAttempts = 3;
for (int attempt = 1; attempt <= maxAttempts; attempt++)
{
var idTask = Task.Run(() => _service.ReadIdAsync(channel)); var idTask = Task.Run(() => _service.ReadIdAsync(channel));
if (!idTask.Wait(extendedTimeout)) if (!idTask.Wait(extendedTimeout))
{
if (attempt == maxAttempts)
{ {
string buf = _service.GetLastBuffer(); string buf = _service.GetLastBuffer();
string displayBuf = string.IsNullOrEmpty(buf) ? "수신된 데이터 없음" : buf; string displayBuf = string.IsNullOrEmpty(buf) ? "수신된 데이터 없음" : buf;
ErrorMessage?.Invoke(this, $"통신 실패 (4253 보드 CH{channel} ID 대기 타임아웃)\r\n[송신값]: {idCmd}\r\n[수신값]: {displayBuf}"); ErrorMessage?.Invoke(this, $"통신 실패 (4253 보드 CH{channel} ID 대기 타임아웃)\r\n[송신값]: {idCmd}\r\n[수신값]: {displayBuf}");
return null; return null;
} }
continue;
}
string rawId = idTask.Result; rawId = idTask.Result;
if (string.IsNullOrEmpty(rawId)) if (string.IsNullOrEmpty(rawId))
{
if (attempt == maxAttempts)
{ {
string buf = _service.GetLastBuffer(); string buf = _service.GetLastBuffer();
string displayBuf = string.IsNullOrEmpty(buf) ? "수신된 데이터 없음" : buf; string displayBuf = string.IsNullOrEmpty(buf) ? "수신된 데이터 없음" : buf;
ErrorMessage?.Invoke(this, $"통신 실패 (4253 보드 CH{channel} ID 응답 없거나 파싱 오류)\r\n[송신값]: {idCmd}\r\n[수신값]: {displayBuf}"); ErrorMessage?.Invoke(this, $"통신 실패 (4253 보드 CH{channel} ID 응답 없거나 파싱 오류)\r\n[송신값]: {idCmd}\r\n[수신값]: {displayBuf}");
return null; return null;
} }
continue;
}
// 정상적으로 파싱된 경우, 끝자리가 'F'인지 확인
if (rawId.EndsWith("F", StringComparison.OrdinalIgnoreCase))
{
if (attempt < maxAttempts)
{
ProgressMessage?.Invoke(this, $"ID 끝자리가 'F'입니다 ({rawId}). 재시도 중... ({attempt}/{maxAttempts})");
Task.Delay(500).Wait(); // 재시도 전 약간의 딜레이
continue;
}
else
{
ProgressMessage?.Invoke(this, $"최대 재시도(2회 추가) 초과. 끝자리가 F인 ID({rawId})를 사용합니다.");
}
}
// 제대로 된 값을 얻었거나 최대 횟수에 도달하면 루프 탈출
break;
}
// 3. SensorIdData 객체 구성 (16자리 ID를 각 필드에 적절히 분배) // 3. SensorIdData 객체 구성 (16자리 ID를 각 필드에 적절히 분배)
// 신규 보드는 16자리 전체가 ID이므로, 파싱 로직 없이 통째로 넣거나 // 신규 보드는 16자리 전체가 ID이므로, 파싱 로직 없이 통째로 넣거나

33
leak_test_project/Services/TestProcessService.cs

@ -224,13 +224,42 @@ namespace leak_test_project.Services
if (isLeft) _leftResult = null; if (isLeft) _leftResult = null;
else _rightResult = null; else _rightResult = null;
// C28에서 결과를 수신할 때까지 최대 30초 대기 (레거시와 동일) // C28에서 결과를 수신할 때까지 대기 (레거시와 동일하게 30초 설정)
bool received = resultReady.Wait(TimeSpan.FromSeconds(30)); bool received = resultReady.Wait(TimeSpan.FromSeconds(30));
if (!received) if (!received)
{ {
NotifyError(testIndex, "LEAK 센서 통신 타임아웃 (30초)"); NotifyError(testIndex, "LEAK 센서 통신 타임아웃");
_dioBoard.WriteOutput(side + "_NG", true); _dioBoard.WriteOutput(side + "_NG", true);
// 타임아웃 시에도 UI(그리드)에 NG로 기록되도록 이벤트 발생
TestCompleted?.Invoke(this, new TestResultEventArgs
{
TestIndex = testIndex,
SensorData = sensorData,
MeasuredValue = "0.000",
Judgment = "NG",
SensorJudgment = "T/O", // Timeout
SpecMismatch = false
});
// 로그 파일에도 기록
FileLogger.LogInspectData(new InspectData
{
InspectDate = DateTime.Now.ToString("yyyy-MM-dd"),
InspectTime = DateTime.Now.ToString("HH:mm:ss"),
Channel = side,
ProductId = sensorData.ID,
MeasuredValue = "0.000",
Judgment = "NG",
Mode = sensorData.McLine == "0" ? "개발" : "양산",
LineNo = sensorData.LineNo,
ProductType = sensorData.Item,
SpecUL = ConfigManager.Current.SpecUL.ToString("F2"),
SpecLL = ConfigManager.Current.SpecLL.ToString("F2"),
Retest = "N"
});
continue; continue;
} }

44
leak_test_project/ViewModels/HomeViewModel.cs

@ -45,10 +45,28 @@ namespace leak_test_project.ViewModels
public string LeftStartTime { get => _leftStartTime; set => SetProperty(ref _leftStartTime, value); } public string LeftStartTime { get => _leftStartTime; set => SetProperty(ref _leftStartTime, value); }
private string _leftId = ""; private string _leftId = "";
public string LeftId { get => _leftId; set => SetProperty(ref _leftId, value); } public string LeftId
{
get => _leftId;
set
{
if (SetProperty(ref _leftId, value))
OnPropertyChanged(nameof(LeftIdCombined));
}
}
private string _leftLowId = ""; private string _leftLowId = "";
public string LeftLowId { get => _leftLowId; set => SetProperty(ref _leftLowId, value); } public string LeftLowId
{
get => _leftLowId;
set
{
if (SetProperty(ref _leftLowId, value))
OnPropertyChanged(nameof(LeftIdCombined));
}
}
public string LeftIdCombined => $"{LeftId} / {LeftLowId}";
private string _leftDate = ""; private string _leftDate = "";
public string LeftDate { get => _leftDate; set => SetProperty(ref _leftDate, value); } public string LeftDate { get => _leftDate; set => SetProperty(ref _leftDate, value); }
@ -83,10 +101,28 @@ namespace leak_test_project.ViewModels
public string RightStartTime { get => _rightStartTime; set => SetProperty(ref _rightStartTime, value); } public string RightStartTime { get => _rightStartTime; set => SetProperty(ref _rightStartTime, value); }
private string _rightId = ""; private string _rightId = "";
public string RightId { get => _rightId; set => SetProperty(ref _rightId, value); } public string RightId
{
get => _rightId;
set
{
if (SetProperty(ref _rightId, value))
OnPropertyChanged(nameof(RightIdCombined));
}
}
private string _rightLowId = ""; private string _rightLowId = "";
public string RightLowId { get => _rightLowId; set => SetProperty(ref _rightLowId, value); } public string RightLowId
{
get => _rightLowId;
set
{
if (SetProperty(ref _rightLowId, value))
OnPropertyChanged(nameof(RightIdCombined));
}
}
public string RightIdCombined => $"{RightId} / {RightLowId}";
private string _rightDate = ""; private string _rightDate = "";
public string RightDate { get => _rightDate; set => SetProperty(ref _rightDate, value); } public string RightDate { get => _rightDate; set => SetProperty(ref _rightDate, value); }

28
leak_test_project/Views/HomeView.xaml

@ -91,21 +91,13 @@
<Grid Grid.Row="2"> <Grid Grid.Row="2">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="130"/> <ColumnDefinition Width="130"/>
<ColumnDefinition Width="0.5*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Border Grid.Column="0" Style="{StaticResource HeaderBorder}"> <Border Grid.Column="0" Style="{StaticResource HeaderBorder}">
<TextBlock Text="ID" Style="{StaticResource HeaderLabel}"/> <TextBlock Text="ID / LOW ID" Style="{StaticResource HeaderLabel}"/>
</Border> </Border>
<Border Grid.Column="1" Style="{StaticResource CellBorder}"> <Border Grid.Column="1" Style="{StaticResource CellBorder}">
<TextBlock Text="{Binding LeftId}" Style="{StaticResource ValueLabel}"/> <TextBlock Text="{Binding LeftIdCombined}" Style="{StaticResource ValueLabel}"/>
</Border>
<Border Grid.Column="2" Style="{StaticResource HeaderBorder}">
<TextBlock Text="LOW ID" Style="{StaticResource HeaderLabel}" TextAlignment="Center" Margin="0"/>
</Border>
<Border Grid.Column="3" Style="{StaticResource CellBorder}">
<TextBlock Text="{Binding LeftLowId}" Style="{StaticResource ValueLabel}"/>
</Border> </Border>
</Grid> </Grid>
@ -318,21 +310,13 @@
<Grid Grid.Row="2"> <Grid Grid.Row="2">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="130"/> <ColumnDefinition Width="130"/>
<ColumnDefinition Width="0.5*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Border Grid.Column="0" Style="{StaticResource HeaderBorder}"> <Border Grid.Column="0" Style="{StaticResource HeaderBorder}">
<TextBlock Text="ID" Style="{StaticResource HeaderLabel}"/> <TextBlock Text="ID / LOW ID" Style="{StaticResource HeaderLabel}"/>
</Border> </Border>
<Border Grid.Column="1" Style="{StaticResource CellBorder}"> <Border Grid.Column="1" Style="{StaticResource CellBorder}">
<TextBlock Text="{Binding RightId}" Style="{StaticResource ValueLabel}"/> <TextBlock Text="{Binding RightIdCombined}" Style="{StaticResource ValueLabel}"/>
</Border>
<Border Grid.Column="2" Style="{StaticResource HeaderBorder}">
<TextBlock Text="LOW ID" Style="{StaticResource HeaderLabel}" TextAlignment="Center" Margin="0"/>
</Border>
<Border Grid.Column="3" Style="{StaticResource CellBorder}">
<TextBlock Text="{Binding RightLowId}" Style="{StaticResource ValueLabel}"/>
</Border> </Border>
</Grid> </Grid>

1
leak_test_project/bin/Release/Logs/2026-04-13_system.log

@ -0,0 +1 @@
[09:04:03.025] [ERROR] [Board4253] Failed to receive response after 3 retries: x00c_001101:owt28006727ea97c7801

BIN
leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/leak_test_project.exe.deploy

Binary file not shown.

0
leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/PCI-Dask.dll.deploy → leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/PCI-Dask.dll.deploy

0
leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/leak_test_project.exe.config.deploy → leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.config.deploy

BIN
leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.deploy

Binary file not shown.

8
leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/leak_test_project.exe.manifest → leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.manifest

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2"> <asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<asmv1:assemblyIdentity name="leak_test_project.exe" version="1.0.0.13" publicKeyToken="5ae182b970f1719e" language="neutral" processorArchitecture="msil" type="win32" /> <asmv1:assemblyIdentity name="leak_test_project.exe" version="1.0.0.16" publicKeyToken="5ae182b970f1719e" language="neutral" processorArchitecture="msil" type="win32" />
<application /> <application />
<entryPoint> <entryPoint>
<assemblyIdentity name="leak_test_project" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> <assemblyIdentity name="leak_test_project" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
@ -42,14 +42,14 @@
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
<dependency> <dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="leak_test_project.exe" size="184272"> <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="leak_test_project.exe" size="184784">
<assemblyIdentity name="leak_test_project" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> <assemblyIdentity name="leak_test_project" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
<hash> <hash>
<dsig:Transforms> <dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms> </dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>s7N9iBWk8fUXDSMpsQYD+HuhDnCsSIbyR3ysKPAKQVk=</dsig:DigestValue> <dsig:DigestValue>pEZ4izTsWD0N0FC3W6sHei9ubwH+Q1nqnSJ0w5ktN2o=</dsig:DigestValue>
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
@ -71,4 +71,4 @@
<dsig:DigestValue>pDB54gSYV5M/tu2DZtDUj13HUp3HrRLSNr97K/nGHh4=</dsig:DigestValue> <dsig:DigestValue>pDB54gSYV5M/tu2DZtDUj13HUp3HrRLSNr97K/nGHh4=</dsig:DigestValue>
</hash> </hash>
</file> </file>
<publisherIdentity name="CN=COMPUTER\COMPUTER1" issuerKeyHash="c32f131ebf64bc457e3888152aa8ff601035940e" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>IGryd/vhTzmjoO2eqd6Fb97hDJRqSJsVRL8N69/x1HI=</DigestValue></Reference></SignedInfo><SignatureValue>l/LS5ocaQyl+3bxBd88XE6RbZwuUh8UgQwc1fUStRM+YbNLGPqZxdyooS89DBCd0B5bl942Tmt0zwsO6vlXORjbVCiOKDE44RJjSD2WxLv382r/hjt/soundny9dJ/NyjlRBJOSpiYlz6qMlOuWRW2pPcYCjJunNGp9XI5O5F40=</SignatureValue><KeyInfo Id="StrongNameKeyInfo"><KeyValue><RSAKeyValue><Modulus>tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><msrel:RelData xmlns:msrel="http://schemas.microsoft.com/windows/rel/2005/reldata"><r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:as="http://schemas.microsoft.com/windows/pki/2005/Authenticode"><r:grant><as:ManifestInformation Hash="72d4f1dfeb0dbf44159b486a940ce1de6f85dea99eeda0a3394fe1fb77f26a20" Description="" Url=""><as:assemblyIdentity name="leak_test_project.exe" version="1.0.0.13" publicKeyToken="5ae182b970f1719e" language="neutral" processorArchitecture="msil" type="win32" /></as:ManifestInformation><as:SignedBy /><as:AuthenticodePublisher><as:X509SubjectName>CN=COMPUTER\COMPUTER1</as:X509SubjectName></as:AuthenticodePublisher></r:grant><r:issuer><Signature Id="AuthenticodeSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>bUBgGdguRHJX/VMsU/Q/dweM3kOGzKR9U/PMq6CpRgE=</DigestValue></Reference></SignedInfo><SignatureValue>Nl9I0EWNksmG0cfN22YJ7ba0bmecY8JjVMMii1M6GS2hSrLyHEMfQ7sSSmf/GV3Ae/jVsz9fWa0+qPx0/aDmxcOK5o94IYbkZtC8Yn0dbFDSWG37UFakG3SPLOxUIYU8+Woh8P32dSCIfaw2lrPlOuyqr2Tx1Lq/dBKvv/W7BCE=</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>MIIB4TCCAUqgAwIBAgIQWEJoD8lqaYlP6JqlHCvs5TANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwHhcNMjYwMzI0MDIzMjE1WhcNMjcwMzI0MDgzMjE1WjAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALbmBaYEOZnOcu+A6B1bpYwZKgpEvbru2Cg+OLyRvRIayKJ6TZjIsDu0k4Njw238YxMu19e8xKc+638NYuM8w7FLqYbFpX/CCmtKbyu0EY6FItSqL+EYur9aK4MGxFGrOtQeG+H1roS73P8W0IffOz9N+i6G1Xq+5Nc6rUE1UIc1AgMBAAEwDQYJKoZIhvcNAQELBQADgYEAUsdGhPmkbh1nlC8UNtLUtmKJFrxEjinb/AyF2q0JI09sqZy0bpJXBrNGMFSgaSj5YznZJGjWH6xMCNKyy9l70dDtUs32EE3ZqA2gJxOL75BFS6cNFG0poqxd1Jwr01xm0jtjN34GTjLMWzFzTYBdtYx5w/t91i/arkapFfWyYD4=</X509Certificate></X509Data></KeyInfo></Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly> <publisherIdentity name="CN=COMPUTER\COMPUTER1" issuerKeyHash="c32f131ebf64bc457e3888152aa8ff601035940e" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>+3BypFZ5fMVMM7tqK/Vhb0qhGKWR6x9nnhDuRViypA4=</DigestValue></Reference></SignedInfo><SignatureValue>l9HKDkEpj4C4P8hgX+juudl4XdBkW97AKvdhQZg38x687DH3s6CcMGgqshPTYcLQBkpHBKNMMGVmhcZN9/OUPfdL2WkoGIEBxG7v7b/ec4FZoh3m8fTc1e6dNniK1A90RwLPXVBNkW2NotU1vQWVGnisAkGNQMeiT+3Mk8W3gok=</SignatureValue><KeyInfo Id="StrongNameKeyInfo"><KeyValue><RSAKeyValue><Modulus>tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><msrel:RelData xmlns:msrel="http://schemas.microsoft.com/windows/rel/2005/reldata"><r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:as="http://schemas.microsoft.com/windows/pki/2005/Authenticode"><r:grant><as:ManifestInformation Hash="0ea4b25845ee109e671feb91a518a14a6f61f52b6abb334cc57c7956a47270fb" Description="" Url=""><as:assemblyIdentity name="leak_test_project.exe" version="1.0.0.16" publicKeyToken="5ae182b970f1719e" language="neutral" processorArchitecture="msil" type="win32" /></as:ManifestInformation><as:SignedBy /><as:AuthenticodePublisher><as:X509SubjectName>CN=COMPUTER\COMPUTER1</as:X509SubjectName></as:AuthenticodePublisher></r:grant><r:issuer><Signature Id="AuthenticodeSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>MI2iqLoRymwscrF6To/QPA4RiJ3jK2ze0+1DcCXBZqo=</DigestValue></Reference></SignedInfo><SignatureValue>mDVmhkO8ciT2Dt0KathjUGsWiGuFw08k407R+ds5XM/BgOTJz46SGEe+bFX193ClB+L3Nm+gC5CUK2aivtefsj6CBySIq85kE44IkZFPp0ijGXjUDMA68PGua45YawcjQ0+lbT1pieDyKuayPt0WVTYunVXg5RnFUtmT4ZlMM7c=</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>MIIB4TCCAUqgAwIBAgIQWEJoD8lqaYlP6JqlHCvs5TANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwHhcNMjYwMzI0MDIzMjE1WhcNMjcwMzI0MDgzMjE1WjAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALbmBaYEOZnOcu+A6B1bpYwZKgpEvbru2Cg+OLyRvRIayKJ6TZjIsDu0k4Njw238YxMu19e8xKc+638NYuM8w7FLqYbFpX/CCmtKbyu0EY6FItSqL+EYur9aK4MGxFGrOtQeG+H1roS73P8W0IffOz9N+i6G1Xq+5Nc6rUE1UIc1AgMBAAEwDQYJKoZIhvcNAQELBQADgYEAUsdGhPmkbh1nlC8UNtLUtmKJFrxEjinb/AyF2q0JI09sqZy0bpJXBrNGMFSgaSj5YznZJGjWH6xMCNKyy9l70dDtUs32EE3ZqA2gJxOL75BFS6cNFG0poqxd1Jwr01xm0jtjN34GTjLMWzFzTYBdtYx5w/t91i/arkapFfWyYD4=</X509Certificate></X509Data></KeyInfo></Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>

10
leak_test_project/bin/Release/app.publish/leak_test_project.application

@ -1,21 +1,21 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2"> <asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<assemblyIdentity name="leak_test_project.application" version="1.0.0.13" publicKeyToken="5ae182b970f1719e" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" /> <assemblyIdentity name="leak_test_project.application" version="1.0.0.16" publicKeyToken="5ae182b970f1719e" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" />
<description asmv2:publisher="leak_test_project" asmv2:product="leak_test_project" xmlns="urn:schemas-microsoft-com:asm.v1" /> <description asmv2:publisher="leak_test_project" asmv2:product="leak_test_project" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" mapFileExtensions="true" /> <deployment install="true" mapFileExtensions="true" />
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2"> <compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
<framework targetVersion="4.7.2" profile="Full" supportedRuntime="4.0.30319" /> <framework targetVersion="4.7.2" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks> </compatibleFrameworks>
<dependency> <dependency>
<dependentAssembly dependencyType="install" codebase="Application Files\leak_test_project_1_0_0_13\leak_test_project.exe.manifest" size="7618"> <dependentAssembly dependencyType="install" codebase="Application Files\leak_test_project_1_0_0_16\leak_test_project.exe.manifest" size="7618">
<assemblyIdentity name="leak_test_project.exe" version="1.0.0.13" publicKeyToken="5ae182b970f1719e" language="neutral" processorArchitecture="msil" type="win32" /> <assemblyIdentity name="leak_test_project.exe" version="1.0.0.16" publicKeyToken="5ae182b970f1719e" language="neutral" processorArchitecture="msil" type="win32" />
<hash> <hash>
<dsig:Transforms> <dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms> </dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>vZGlZ5qI3sVmBh95J81hLbqfdYw4njv0uB7RtDrOvHs=</dsig:DigestValue> <dsig:DigestValue>A1La4KsGMV1iNK0CxRR03ShMgX8/fW+GOgv9d21XqkE=</dsig:DigestValue>
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
<publisherIdentity name="CN=COMPUTER\COMPUTER1" issuerKeyHash="c32f131ebf64bc457e3888152aa8ff601035940e" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>FmFXiPyX80Gc/Tr21p3YuCFMtpIYuWeDiBxsaSdTbvQ=</DigestValue></Reference></SignedInfo><SignatureValue>XmnCAww20AlPr4s/cfKBsgEbQUQ2X0suzuVtdMekgNypuTFO5UdWFgOLZZtDnBZR0MxcFyHx332YHgZO54J3aU6RJ8BN+o2yby/hLX+lmZ1pquWtVHKHyytAG4XyVCnA6s9Eh5IkVVL/czRuJfLxoVUZf8edM2mooPYmYxtGREA=</SignatureValue><KeyInfo Id="StrongNameKeyInfo"><KeyValue><RSAKeyValue><Modulus>tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><msrel:RelData xmlns:msrel="http://schemas.microsoft.com/windows/rel/2005/reldata"><r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:as="http://schemas.microsoft.com/windows/pki/2005/Authenticode"><r:grant><as:ManifestInformation Hash="f46e5327696c1c888367b91892b64c21b8d89dd6f63afd9c41f397fc88576116" Description="" Url=""><as:assemblyIdentity name="leak_test_project.application" version="1.0.0.13" publicKeyToken="5ae182b970f1719e" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" /></as:ManifestInformation><as:SignedBy /><as:AuthenticodePublisher><as:X509SubjectName>CN=COMPUTER\COMPUTER1</as:X509SubjectName></as:AuthenticodePublisher></r:grant><r:issuer><Signature Id="AuthenticodeSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>EmpRdk8DsUDcdaWJE1vl68QAegel0yF1f5e8pvmRQjM=</DigestValue></Reference></SignedInfo><SignatureValue>cgZrWaxQtJh0Gr03iFoHJPQApEcGyJxP1NAd0OA65Fu7lEfDKbshAiSbIDjiSezJfHf3wQpizVvTr4sIUkWOrSOCg6LdCPSST6QJAeQ7LXEfMO7dXO06vklj7vV9nS/RtOPfP8BiXThr6QDVu8KzvDRaDLhIgfm/cjMh3mVMkLU=</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>MIIB4TCCAUqgAwIBAgIQWEJoD8lqaYlP6JqlHCvs5TANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwHhcNMjYwMzI0MDIzMjE1WhcNMjcwMzI0MDgzMjE1WjAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALbmBaYEOZnOcu+A6B1bpYwZKgpEvbru2Cg+OLyRvRIayKJ6TZjIsDu0k4Njw238YxMu19e8xKc+638NYuM8w7FLqYbFpX/CCmtKbyu0EY6FItSqL+EYur9aK4MGxFGrOtQeG+H1roS73P8W0IffOz9N+i6G1Xq+5Nc6rUE1UIc1AgMBAAEwDQYJKoZIhvcNAQELBQADgYEAUsdGhPmkbh1nlC8UNtLUtmKJFrxEjinb/AyF2q0JI09sqZy0bpJXBrNGMFSgaSj5YznZJGjWH6xMCNKyy9l70dDtUs32EE3ZqA2gJxOL75BFS6cNFG0poqxd1Jwr01xm0jtjN34GTjLMWzFzTYBdtYx5w/t91i/arkapFfWyYD4=</X509Certificate></X509Data></KeyInfo></Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly> <publisherIdentity name="CN=COMPUTER\COMPUTER1" issuerKeyHash="c32f131ebf64bc457e3888152aa8ff601035940e" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>vY4yjkJ/nULviCenR6uVtUGUR+hwBc3gN5h8MT7Uogs=</DigestValue></Reference></SignedInfo><SignatureValue>HLnBsRt87ox3w9aSJURYJ6Ia7a4CFjsgbE8MgngAl5S5RxvkEcgnFoc7paGHakA9eTWXUjy2ppfScWLh3TZdqNoeU6EJVQC/AwfFoL9eK9zRQYKgj6cYIwW06QQgg+T5uLvVB9CRj2nDO14tj3zsqJJ4whrs/j2bfjG0nSIsvec=</SignatureValue><KeyInfo Id="StrongNameKeyInfo"><KeyValue><RSAKeyValue><Modulus>tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><msrel:RelData xmlns:msrel="http://schemas.microsoft.com/windows/rel/2005/reldata"><r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:as="http://schemas.microsoft.com/windows/pki/2005/Authenticode"><r:grant><as:ManifestInformation Hash="0ba2d43e317c9837e0cd0570e8479441b595ab47a72788ef429d7f428e328ebd" Description="" Url=""><as:assemblyIdentity name="leak_test_project.application" version="1.0.0.16" publicKeyToken="5ae182b970f1719e" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" /></as:ManifestInformation><as:SignedBy /><as:AuthenticodePublisher><as:X509SubjectName>CN=COMPUTER\COMPUTER1</as:X509SubjectName></as:AuthenticodePublisher></r:grant><r:issuer><Signature Id="AuthenticodeSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>8meuhjsWFjVM2XkbCDNkqJSr8BQHhBU4VGtueZy1jJg=</DigestValue></Reference></SignedInfo><SignatureValue>giByh+aFXJle8Iif2o1GWSVENDaySdFQTkrs9uiyoK6WcYRntVBVAfLeSWIVstSRiK4ltbQH0vTZDc2Kc6bDvEw7n5deWM+atUfP6X4Ih5baTiMexT+1UoZfWMpmEW6cFXXD6atDaBYTqu+p/lLQqutacu3RwzLJ59/3vsMwK0I=</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>MIIB4TCCAUqgAwIBAgIQWEJoD8lqaYlP6JqlHCvs5TANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwHhcNMjYwMzI0MDIzMjE1WhcNMjcwMzI0MDgzMjE1WjAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALbmBaYEOZnOcu+A6B1bpYwZKgpEvbru2Cg+OLyRvRIayKJ6TZjIsDu0k4Njw238YxMu19e8xKc+638NYuM8w7FLqYbFpX/CCmtKbyu0EY6FItSqL+EYur9aK4MGxFGrOtQeG+H1roS73P8W0IffOz9N+i6G1Xq+5Nc6rUE1UIc1AgMBAAEwDQYJKoZIhvcNAQELBQADgYEAUsdGhPmkbh1nlC8UNtLUtmKJFrxEjinb/AyF2q0JI09sqZy0bpJXBrNGMFSgaSj5YznZJGjWH6xMCNKyy9l70dDtUs32EE3ZqA2gJxOL75BFS6cNFG0poqxd1Jwr01xm0jtjN34GTjLMWzFzTYBdtYx5w/t91i/arkapFfWyYD4=</X509Certificate></X509Data></KeyInfo></Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>

BIN
leak_test_project/bin/Release/app.publish/leak_test_project.exe

Binary file not shown.

6
leak_test_project/bin/Release/leak_test_project.application

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2"> <asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<assemblyIdentity name="leak_test_project.application" version="1.0.0.13" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" /> <assemblyIdentity name="leak_test_project.application" version="1.0.0.16" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" />
<description asmv2:publisher="leak_test_project" asmv2:product="leak_test_project" xmlns="urn:schemas-microsoft-com:asm.v1" /> <description asmv2:publisher="leak_test_project" asmv2:product="leak_test_project" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" mapFileExtensions="true" /> <deployment install="true" mapFileExtensions="true" />
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2"> <compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
@ -8,13 +8,13 @@
</compatibleFrameworks> </compatibleFrameworks>
<dependency> <dependency>
<dependentAssembly dependencyType="install" codebase="leak_test_project.exe.manifest" size="3936"> <dependentAssembly dependencyType="install" codebase="leak_test_project.exe.manifest" size="3936">
<assemblyIdentity name="leak_test_project.exe" version="1.0.0.13" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" /> <assemblyIdentity name="leak_test_project.exe" version="1.0.0.16" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" />
<hash> <hash>
<dsig:Transforms> <dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms> </dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>IH+aKiFvhI6LMjGB1EhRjwzDSWKszz5bvalWw8FvXd8=</dsig:DigestValue> <dsig:DigestValue>HmFj0J/H16BLdu2v4bvNkIVYhtytj9pkGmitz3M27pw=</dsig:DigestValue>
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>

BIN
leak_test_project/bin/Release/leak_test_project.exe

Binary file not shown.

6
leak_test_project/bin/Release/leak_test_project.exe.manifest

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2"> <asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<asmv1:assemblyIdentity name="leak_test_project.exe" version="1.0.0.13" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" /> <asmv1:assemblyIdentity name="leak_test_project.exe" version="1.0.0.16" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" />
<application /> <application />
<entryPoint> <entryPoint>
<assemblyIdentity name="leak_test_project" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> <assemblyIdentity name="leak_test_project" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
@ -42,14 +42,14 @@
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
<dependency> <dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="leak_test_project.exe" size="184272"> <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="leak_test_project.exe" size="184784">
<assemblyIdentity name="leak_test_project" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> <assemblyIdentity name="leak_test_project" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
<hash> <hash>
<dsig:Transforms> <dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms> </dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>s7N9iBWk8fUXDSMpsQYD+HuhDnCsSIbyR3ysKPAKQVk=</dsig:DigestValue> <dsig:DigestValue>pEZ4izTsWD0N0FC3W6sHei9ubwH+Q1nqnSJ0w5ktN2o=</dsig:DigestValue>
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>

BIN
leak_test_project/bin/Release/leak_test_project.pdb

Binary file not shown.

2
leak_test_project/leak_test_project.csproj

@ -27,7 +27,7 @@
<UpdatePeriodically>false</UpdatePeriodically> <UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired> <UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions> <MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>14</ApplicationRevision> <ApplicationRevision>17</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion> <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust> <UseApplicationTrust>false</UseApplicationTrust>
<PublishWizardCompleted>true</PublishWizardCompleted> <PublishWizardCompleted>true</PublishWizardCompleted>

BIN
leak_test_project/obj/Release/App.baml

Binary file not shown.

BIN
leak_test_project/obj/Release/MainWindow.baml

Binary file not shown.

BIN
leak_test_project/obj/Release/Views/HomeView.baml

Binary file not shown.

2
leak_test_project/obj/Release/Views/HomeView.g.cs

@ -1,4 +1,4 @@
#pragma checksum "..\..\..\Views\HomeView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "2921BB4A069CB2EEEC799AE758E9C631287817D22AABE0AE39C97B7738A1BC9F" #pragma checksum "..\..\..\Views\HomeView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "EF28D1F33A372FF8C07A2FA029508C46F6D83EE13FA1C4B341D2417DC19F1E43"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 이 코드는 도구를 사용하여 생성되었습니다. // 이 코드는 도구를 사용하여 생성되었습니다.

2
leak_test_project/obj/Release/Views/HomeView.g.i.cs

@ -1,4 +1,4 @@
#pragma checksum "..\..\..\Views\HomeView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "2921BB4A069CB2EEEC799AE758E9C631287817D22AABE0AE39C97B7738A1BC9F" #pragma checksum "..\..\..\Views\HomeView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "EF28D1F33A372FF8C07A2FA029508C46F6D83EE13FA1C4B341D2417DC19F1E43"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 이 코드는 도구를 사용하여 생성되었습니다. // 이 코드는 도구를 사용하여 생성되었습니다.

6
leak_test_project/obj/Release/leak_test_project.application

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2"> <asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<assemblyIdentity name="leak_test_project.application" version="1.0.0.13" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" /> <assemblyIdentity name="leak_test_project.application" version="1.0.0.16" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" />
<description asmv2:publisher="leak_test_project" asmv2:product="leak_test_project" xmlns="urn:schemas-microsoft-com:asm.v1" /> <description asmv2:publisher="leak_test_project" asmv2:product="leak_test_project" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" mapFileExtensions="true" /> <deployment install="true" mapFileExtensions="true" />
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2"> <compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
@ -8,13 +8,13 @@
</compatibleFrameworks> </compatibleFrameworks>
<dependency> <dependency>
<dependentAssembly dependencyType="install" codebase="leak_test_project.exe.manifest" size="3936"> <dependentAssembly dependencyType="install" codebase="leak_test_project.exe.manifest" size="3936">
<assemblyIdentity name="leak_test_project.exe" version="1.0.0.13" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" /> <assemblyIdentity name="leak_test_project.exe" version="1.0.0.16" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" />
<hash> <hash>
<dsig:Transforms> <dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms> </dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>IH+aKiFvhI6LMjGB1EhRjwzDSWKszz5bvalWw8FvXd8=</dsig:DigestValue> <dsig:DigestValue>HmFj0J/H16BLdu2v4bvNkIVYhtytj9pkGmitz3M27pw=</dsig:DigestValue>
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>

BIN
leak_test_project/obj/Release/leak_test_project.exe

Binary file not shown.

6
leak_test_project/obj/Release/leak_test_project.exe.manifest

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2"> <asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<asmv1:assemblyIdentity name="leak_test_project.exe" version="1.0.0.13" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" /> <asmv1:assemblyIdentity name="leak_test_project.exe" version="1.0.0.16" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" />
<application /> <application />
<entryPoint> <entryPoint>
<assemblyIdentity name="leak_test_project" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> <assemblyIdentity name="leak_test_project" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
@ -42,14 +42,14 @@
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
<dependency> <dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="leak_test_project.exe" size="184272"> <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="leak_test_project.exe" size="184784">
<assemblyIdentity name="leak_test_project" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> <assemblyIdentity name="leak_test_project" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
<hash> <hash>
<dsig:Transforms> <dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms> </dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>s7N9iBWk8fUXDSMpsQYD+HuhDnCsSIbyR3ysKPAKQVk=</dsig:DigestValue> <dsig:DigestValue>pEZ4izTsWD0N0FC3W6sHei9ubwH+Q1nqnSJ0w5ktN2o=</dsig:DigestValue>
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>

BIN
leak_test_project/obj/Release/leak_test_project.g.resources

Binary file not shown.

BIN
leak_test_project/obj/Release/leak_test_project.pdb

Binary file not shown.

4
leak_test_project/obj/Release/leak_test_project_MarkupCompile.cache

@ -12,9 +12,9 @@ TRACE
C:\Users\COMPUTER1\Desktop\mobi\leak_test_project\leak_test_project\App.xaml C:\Users\COMPUTER1\Desktop\mobi\leak_test_project\leak_test_project\App.xaml
6627611856 6627611856
1-698605034 1-698605034
452020398631 44464663643
14-767506772 14-767506772
Views\HomeView.xaml;Views\InOutView.xaml;Views\DataView.xaml;Views\ParametersWindow.xaml;Views\CommunicationWindow.xaml;MainWindow.xaml; Views\HomeView.xaml;Views\InOutView.xaml;Views\DataView.xaml;Views\ParametersWindow.xaml;Views\CommunicationWindow.xaml;MainWindow.xaml;
True False

Loading…
Cancel
Save