App Center 에 Xamarin.Forms 로 작성된 솔루션의 플랫폼별 프로젝트의 빌드를 구성할 때, 프로젝트 파일을 선택할 수 없는 경우가 있습니다.
문제 발생
원격 저장소에 전송된 내용의 구조를 간략하게 표현하면 아래와 같습니다.
$
└ src
├─App
│ └─JouranlApp
│ ├─ JouranlApp.sln
│ ├─JouranlApp
│ │ └─JouranlApp.csproj
│ ├─JouranlApp.Android
│ │ └─JouranlApp.Android.csproj
│ ├─JouranlApp.iOS
│ │ └─JouranlApp.iOS.csproj
│ └─JouranlApp.UWP
│ └─JouranlApp.UWP.csproj
└─WebApp
├─JournalService.sln
└─JournalService.Web
└─JournalService.Web.csproj
App Center 에서 App을 추가하고, 빌드를 구성 페이지를 열고 프로젝트를 선택하려고 하면 프로젝트 파일이 목록에 존재하지 않습니다.
솔루션 파일
.sln
을 선택해도 빌드에 문제가 없었지만, 프로젝트 파일을 선택하는게 좋을 것 같아 문서를 찾아보기 시작했습니다.
현재(2017-07-12)는 App Center 에서 솔루션 파일 및 프로젝트 파일 검색에 디렉터리 깊이 제한이 있있다고 합니다.
참고:
For best performance, the analysis is currently limited to four directory levels including the root of your repository.
출처: 3. Configuring Your Build – Building Xamarin apps for Android
해결
다른 방법이 있는지 찾는 것보다는 디렉터리를 옮기는게 가장 빠른 해결 방법입니다.
로컬 저장소에 src
디렉터리를 제거해서 프로젝트 파일의 위치를 조정했습니다.
$
├─App
│ └─JouranlApp
│ ├─ JouranlApp.sln
│ ├─JouranlApp
│ │ └─JouranlApp.csproj
│ ├─JouranlApp.Android
│ │ └─JouranlApp.Android.csproj
│ ├─JouranlApp.iOS
│ │ └─JouranlApp.iOS.csproj
│ └─JouranlApp.UWP
│ └─JouranlApp.UWP.csproj
└─WebApp
├─JournalService.sln
└─JournalService.Web
└─JournalService.Web.csproj
디렉터리를 정리하고, 원격 저장소에 커밋을 전송한 후 다시 빌드 구성을 확인하면, 빌드할 프로젝트 파일을 선택할 수 있습니다.
이 사이트는 광고를 포함하고 있습니다.
광고로 발생한 수익금은 서버 유지 관리에 사용되고 있습니다.This site contains advertisements.
Revenue generated by the ad servers are being used for maintenance.