Позвольте мне начать с примера ... У меня есть all.proj, который выглядит примерно так:MsBuild - Можно ли изолировать пакетные задачи, поэтому одна неудачная задача не пропускает оставшиеся задачи?
<ItemGroup>
<ProjectsToBuild Include="..\Sites\*\*.csproj" />
</ItemGroup>
<Target Name="DeployWebsites" DependsOnTargets="BuildMergedSolutions">
<AspNetCompiler
PhysicalPath="%(ProjectsToBuild.RootDir)%(ProjectsToBuild.Directory)"
TargetPath="%(ProjectsToBuild.RootDir)%(ProjectsToBuild.Directory)..\..\..\deploy\%(ProjectsToBuild.Filename)"
VirtualPath="/%(ProjectsToBuild.Filename)%(ProjectsToBuild.Extension)"
Debug="true"
Updateable="true"
Force="true" />
</Target>
Если одна из задач не удается, то будет выходить из ворот. Есть ли способ просто распечатать ошибку и продолжить исключение оставшихся задач?
ContinueOnError не является вариантом, поскольку он просто преобразует ошибки в предупреждения. Я хочу, чтобы сборка завершилась неудачей, но я также хочу получить как можно больше информации об ошибках, поэтому мне все равно нужно скомпилировать все сайты, хотя некоторые из них терпят неудачу.
Да, это то, что я думал. Вы знаете, лучше ли Нант в этой области? – JohannesH
Извините, я мало знаю о Нанта. –
В результате я написал свою собственную задачу, которая вызывает задачу AspNetCompiler внутри себя. – JohannesH