소스 코드가없는 VS 2010 vcxproj가 있습니다. PreBuildEvent는 타사 도구를 사용하여 src \ 디렉토리에 소스 코드를 생성하는 배치 파일을 호출합니다. 그건 잘 작동합니다. 문제는 처음으로 소스 코드가 생성 될 때 (또는 정리 된 후에) VisualStudio가 실제로 생성 된 소스를 컴파일하지 않는다는 것입니다. 후속 빌드에서는 컴파일됩니다. 이는 개발자에게 짜증나는 것은 물론 CI 작성기의 문제입니다. VS에서 생성 된 파일을 인식 할 수있는 방법이 있습니까?vcxproj가 처음으로 생성 된 소스 코드를 빌드하지 않습니다.
가 여기 내 .vcxproj
<ItemDefinitionGroup>
<PreBuildEvent>
<Message>Generating from IDL </Message>
<Command>genNAPIEMsgs.bat</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\*.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\*.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ItemGroup>
<DDSGeneratedFiles Include="src\*.cpp" />
<DDSGeneratedFiles Include="src\*.h" />
</ItemGroup>
<Target Name="AfterClean">
<Message Text="AfterClean target: removing generated source code" />
<Delete Files="@(DDSGeneratedFiles)" />
</Target>
사전 빌드 이벤트의 스 니펫은 어디에 있습니까? – Nicodemeus
괜찮은 조회 용 Google 'msbuild 지연 평가'. 그게 밖으로 나가지 않으면 두 개의 프로젝트를 사용하십시오. –