Visual Studio 2012 대상 .Net 4.5를 사용하여 작성한 웹 응용 프로그램이 있는데 실제로는 솔루션을 빌드하고 압축 한 다음 프로덕션 서버에서 ftp로 수동 배포했습니다.C#에서 부정확하게 DateTime 형식 지정
이 배포를 자동화하기 위해 Jenkins CI를 호스팅하는 빌드 서버가 있습니다.이 도구를 사용하여 MSBuild.exe를 사용하여 소스를 빌드 한 다음 NUnit 테스트를 실행합니다.
로컬로 빌드 스크립트를 실행하면 모든 테스트가 통과되고 올바르게 작동합니다. 그러나 빌드 서버 (Visual Studio가 설치되어 있지 않지만 SDK가 있음)에서 스크립트를 실행하면 빌드가 성공하지만 일부 단위 테스트는 실패합니다.
나는 실패를 조사 해본 결과, 예를 들어 날짜 형식이 작동하지 않는 등의 이상한 문제가 발생하는 것으로 나타났습니다. 내 로컬 컴퓨터에
myRequest.Date = new DateTime(1970, 2, 1)
...
myRequest.Date.ToString("dd-MM-yyyy"));
이 제대로 작동하고 1970년 1월 2일으로 날짜를 포맷합니다. 그러나 빌드 머신에서 날짜가 으로 포맷되어 있기 때문에 테스트가 실패했습니다. 02-01-1970
Windows 영역 설정이 두 시스템에서 동일하다는 것을 확인 했습니까? – paul
잘 모르겠지만 동일한 문제가있어서 web.config에서 Culture as UK를 지정해야했습니다. 두 번째 옵션은 서버에 culture zone을 설정하는 것입니다. – Rab
지역을 변경하려고합니다! – lisburnite