fix: AutoZip 이 프로젝트 로컬 External·Packages 를 제외하던 문제

AutoZip 으로 만든 zip 만으로는 빌드가 되지 않았다. 별도 PC(C:\Test)에서 풀어
Debug|x64 로 돌리면 37개 중 16개가 실패했다.

원인은 -xr! 이 재귀 매칭이라는 점이다. -xr!External / -xr!packages 가 루트뿐 아니라
하위 아무 depth 의 같은 이름 폴더까지 전부 걸러냈다. 화이트리스트에 .dll 이 없던 것도
겹쳐, HintPath 가 프로젝트 상대경로로 가리키는 DLL 6개가 통째로 빠졌다.

  AuroraACS\External\ACS.SPiiPlusNET.dll                       (AuroraACS.csproj:39)
  AuroraLaser\External\AuroraModbus.csharp.dll
  AuroraDeviceCommon\Packages\NModbus.3.0.80\...\NModbus.dll   (AuroraDeviceCommon.csproj:55)
  AuroraDeviceCommon\Packages\NModbus.Serial.3.0.80\...\NModbus.Serial.dll
  AuroraHeightSensor\Packages\MEDAQLib\MEDAQLib.dll            (AuroraHeightSensor.csproj:124)
  AuroraHeightSensor\Packages\MEDAQLib\MEDAQLib.NET.dll

AuroraDeviceCommon 이 NModbus 를 못 찾아 실패하면 _out\x64-Debug\AuroraDeviceCommon.dll
이 안 생기고, 이후 13개 프로젝트가 CS0006 으로 연쇄 실패했다. XAML MC3074 3건
(EnumToStringConverter·MainPage·UCWorkPos)도 같은 원인이다.

수정
- -xr!External / -xr!packages 삭제. -x!External -x!External\* -x!packages -x!packages\*
  로 대체해 루트만 제외한다.
- 화이트리스트에 -ir!*.dll 추가. obj·bin·_out* 이 이미 제외돼 있고 루트 두 폴더도
  빠지므로 실제로 늘어나는 건 위 6개뿐이다.
- 완료 메시지에 받는 쪽 준비물을 출력한다 - zip + 루트 External\ + 루트 packages\.

검증: 재압축 후 별도 폴더에 풀고 루트 External·packages 만 복사해 Debug|x64 빌드 성공.

인코딩은 CP949 를 유지했다. UTF-8 로 저장하면 콘솔 한글이 전부 깨진다(실측).
This commit is contained in:
노도연 2026-08-12 10:54:57 +09:00
parent 5807279c4f
commit 832ee0b32e

View File

@ -49,11 +49,12 @@ echo.
"%SEVENZIP%" a -tzip -mx=9 -p%PW% "%OUT%" ^
-ir!*.sln -ir!*.csproj -ir!*.cs -ir!*.xaml -ir!*.resx -ir!*.config ^
-ir!*.settings -ir!*.manifest -ir!*.snk ^
-ir!*.settings -ir!*.manifest -ir!*.snk -ir!*.dll ^
-ir!*.png -ir!*.ico -ir!*.jpg -ir!*.jpeg -ir!*.bmp -ir!*.gif -ir!*.cur -ir!*.ttf ^
-xr!obj -xr!bin -xr!.git -xr!.vs -xr!packages -xr!_out* -xr!_intermediate ^
-x!External -x!External\* -x!packages -x!packages\* ^
-xr!obj -xr!bin -xr!.git -xr!.vs -xr!_out* -xr!_intermediate ^
-xr!intermediate* -xr!_workspace -xr!_release -xr!_test -xr!Doc -xr!docs ^
-xr!External -xr!.claude -xr!.ubisam_agent -xr!.serena -xr!__pycache__ ^
-xr!.claude -xr!.ubisam_agent -xr!.serena -xr!__pycache__ ^
-xr!UnTrackedLocalFiles -xr!_dummyImages -xr!tools -xr!*.zip -xr!*.7z -xr!*.rar
if errorlevel 1 (