배포 전 프로그램 실행에는 문제 없지만 거슬리는 것들을 정리
1. 프로그램 실행시 자동으로 켜지는 ChromeDriver 콘솔 창 숨기기
크롬 드라이버에 오류 없이 정상적으로 연결되었다는 콘솔창이지만, 해당 프로그램의 사용자는 외부인이며 개발과 무관하다. 때문에 콘솔창이 노출될 경우 사용자 입장에서는 오류로 오해할 소지가 있어 배포 전 해당 창이 표시되지 않도록 처리할 필요가 있다.
private static ChromeOptions chromeOptions = new ChromeOptions(); // 클래스 단에서 객체 선언
public static void SetupChromeDriver()
{
try
{
// WebDriverManager로 chromedriver 자동 다운로드 + 경로 세팅
new WebDriverManager.DriverManager().SetUpDriver(new WebDriverManager.DriverConfigs.Impl.ChromeConfig());
// 콘솔창 숨기기 위한 서비스 설정
var service = ChromeDriverService.CreateDefaultService();
service.HideCommandPromptWindow = true;
_driver = new ChromeDriver(service, chromeOptions); // ChromeDriver 생성
Debug.WriteLine("commondata.DriverUrl 값: " + commondata.DriverUrl);
_driver.Url = commondata.DriverUrl;
_driver.Manage().Window.Maximize(); // 브라우저 창 최대화
Thread.Sleep(1000);
}
catch (Exception ex)
{
MessageBox.Show("SetupChromeDriver 예외: " + ex.Message);
}
}
// 콘솔창 숨기기 위한 서비스 설정
var service = ChromeDriverService.CreateDefaultService();
service.HideCommandPromptWindow = true;
_driver = new ChromeDriver(service, chromeOptions); // ChromeDriver 생성
프롬프트 창을 숨기는 설정을 한 뒤 크롬드라이브 설정에 변수로 넣어준다.
2. 솔루션 이름 변경
임시로 사용하던 이름을 변경하려고 함
windows 탐색기에서 해당 이름이 들어간 폴더 및 파일 이름을 변경한다.
- 해당폴더
- 해당폴더\test_solution.sln
- 해당폴더\test_solution\
- 해당폴더\test_solution\test_solution.csproj
- 해당폴더\test_solution\test_solution.csproj.user
변경한 뒤 .sln 파일 재실행 하면 아래처럼
해당 파일을 찾을 수 없다고 나오면?
솔루션 이름 우클릭 > 추가 > 기존 프로젝트 추가 > 실제 위치의 .csproj 파일 선택/열기
끝!!!
...인 줄 알았으나 빌드 후 프로그램 이름이 변경전과 동일하다면 아래를 확인해야 한다.
- 솔루션 이름 우클릭 > 속성 > 어플리케이션 > 일반 > 아래쪽의 어셈블리 이름
그럼에도 Release 폴더 내의 파일 이름이 변경되지 않았다면
상단 play 버튼 왼쪽 콤보가 Release가 아니라 Debug로 되어 있진 않은지 확인 후 재빌드
3. Debug/Release 폴더 내부 net8.0-windows 폴더명 변경 또는 삭제
해당 이름은 SDK가 자동 생성하는 폴더이기 때문에 2번에서 변경한 것처럼 절대로 직접 폴더명을 변경해서는 안 됨!!! Visual Studio에서 출력 경로를 변경해줘야함.
.csproj 파일을 열어서 <PropertyGroup> 내부에 아래와 같이 <OutputPath>, < AppendTargetFrameworkToOutputPath>를 추가한다. 이는 net8.0-windows 이 자동 생성되도록 설정 돼 있기 때문에 TargetFramework를 false로 설정해둬야 함
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<Optimize>True</Optimize>
<OutputPath>bin\Release\TEST_folder\</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
4. 실행 파일 아이콘 변경하기
변경 전 실행파일.exe의 로고는 생략 돼 있기 때문에 밋밋한 아이콘이 생성된다. 처음 프로그램을 구동하려는 사람은 어떤 아이콘이 실행프로그램이지? 헷깔릴 수 있기 때문에 파일 아이콘 변경 하는 것을 추천한다.
4-1) 먼저 등록할 이미지 파일을 .icon 확장자로 변환한다.
Convertio — 파일 변환기
300가지 이상의 포맷 지원 저희는 300가지 이상의 서로 다른 파일 포맷 간의 25600가지 이상의 서로 다른 변환을 지원합니다. 다른 어떤 변환기보다 많은 수입니다. 신속 및 간단 페이지에 간단히
convertio.co
4-2) 솔루션 이름 우클릭 > 속성 > 애플리케이션 > Win32 리소스 > 아이콘
아이콘 파일 설정 후 빌드 하면 끝!!
아이콘 이미지 선택 후 빌드 했는데, 아 이미지가 마음에 안드는데? 싶어서 중간에 한 번 바꿨다. 근데? 변경한 뒤 재빌드를 해봐도 자꾸 첫번째 설정했던 아이콘이 남아 있지 않는가??? 왜지?
1. 이런 경우 다시 위 설정에서 기본값으로 다시 설정한 뒤 재빌드
2. 아래 코드를 메모장에 붙여 넣은 뒤 .bat 배치 파일로 저장
3. 관리자 권한으로 실행
taskkill /IM explorer.exe /F
del /AH "%localappdata%\IconCache.db"
start explorer.exe
4. 다시 위 설정에서 아이콘 파일 재설정 후 재빌드
찐으로 정상적으로 변경된 걸 확인할 수 있을 거다.
월요일 배포 시작인데 너무 불안하다....... 주말인데 1도 안 즐겁고요. 걍 빨리 월요일이나 됐으면 좋겠고요. 왜 개발을 한다고 나대가지고 스스로 불러 온 재앙에 짓눌리는가...... 리눅스 실기도 공부해야 되는데 할게 너무 많다. 실기 비용 4만원대 였는데 아놔 떨어지게 생겼네 ㅎㅎ하하하ㅏ 더 늦기 전에 다른 살길을 찾아야 되나 하 스트레스
글고 오늘 이 닦고 물 치실 하다가 예전에 깨져서 붙여 놨던 치아도 떨어졌고요. 미래를 예견한건가? 도망치라는 신호인가? 오늘 집 밖으로 한 발자국도 안 나갔는데 왜 이런 일이 생기는 거지? ㅋㅋㅋㅋㅋ ㅋㅋ ㅋ ㅋ ㅋ 괜히 실성한 듯 웃다가 정신 채리고 일요일 문 여는 치과 찾아서 예약했다. 불행 중 다행쓰~~ 이대로 뭐 먹으면 이빨 와장창 깨질 것 같은데 럭키하게도 떡튀순 야무지게 시켜 먹은 뒤라 내일 오전 진료까지 참으면 돼서 다시 기분 좋아짐 ㅋㅋ 오예이~ 예약하는 김에 스케일링 예약까지 했으니 난 완전 행운아 인거임~~!!!
하루 종일 집에서 컴퓨터만 붙잡고 앉아 있다보니 미칠 것 같아서 주저리 떠들어 보았다.
아무튼.. 바쁜 거 다 끝내고 나면
뒤집어지게 놀러다닐 거임..
그때까지 참아보자 아자뵤우~~~!
'개발일지 > C#' 카테고리의 다른 글
[ C# / CUBRID ] 프로젝트 정리 4 - 프로젝트와 DB 연동 (0) | 2025.06.07 |
---|---|
[ C# / CUBRID ] 프로젝트 정리 3 - cmd로 큐브리드 서버 실행 및 테이블 생성 (2) | 2025.06.06 |
[ C# / CUBRID ] 프로젝트 정리 2 - 큐브리드 설치 후 프로젝트 내 참조 추가 (0) | 2025.06.06 |
[ VS2022 / C# / Git ] 프로젝트 정리 1 - 깃 설치 후 Visual Studio 2022 깃 연결 (3) | 2025.06.06 |
[C#] Random.Next()로 1/5 확률 선택하기 – 퍼센트(%) 조건 제어 (0) | 2025.05.28 |