까다로운 MSBuild 문제가 있습니다. 여러 웹 사이트를 포함하는 솔루션 파일이 있습니다. 각 웹 사이트에는 공통 프로젝트의 MVC보기 및 다른 웹 사이트 내용의 사본이 필요합니다. 공용 프로젝트는 공유 된 조직 공간에서 파일을 복사합니다. 여기에 그림입니다 :PreBuild 이벤트 및 프로젝트 종속성 (MSBuild)
Site A OrgShared <- Common <- Site B Site C
파일의 복사본은 .csproj
파일의 PreBuildEvent을 통해 수행됩니다. 문제는 탐지 된 종속성의 빌드 이벤트가 시작되기 전에 PreBuildEvent 명령이 실행된다는 것입니다. 그래서 여기에 이벤트의 순서는 다음과 같습니다
1. Site A is build a. Prebuild step is executed (copy files from Common) b. Common is built i. Prebuild step is executed (copy files from OrgShared) ii. Build & postbuild is executed c. Build & postbuild are executed 2. Site B is built a. Prebuild step is executed (copy files from Common) b. Build & postbuild are executed
문제는 1a 단계에서 발생한다. Common prebuild 단계가 아직 실행되지 않았기 때문에 Site A는 OrgShared에서 간접적으로 온 파일을받지 못합니다.
OrgShared에서 직접 복사해야하는 사이트 A, B & C에 의존하지 않고 어떻게 효과적으로이 종속성 문제를 해결할 수 있습니까?