For a general applicability i tried to specify the WorkingDirectory attribute in a qotted manner:
<WorkingDir>"$(SolutionRoot)\EsriDE.Commons\tools\EsriDE\"</WorkingDir>
or
<DoubleQuotes>%22</DoubleQuotes>
<WorkingDir>$(DoubleQuotes)$(SolutionRoot)\EsriDE.Commons\tools\EsriDE\$(DoubleQuotes)</WorkingDir>
The Exec task self is
<Exec
WorkingDirectory="$(WorkingDir)"
Command="$(ExtractComCategories) $(InputDirectoryArg) $(FilterArg) $(SeparationArg) $(OutputDirectoryArg) $(OutputFileArg) $(OutputFormatArg)" />
Every variant throws during building the exception MSB6003 (The directory name is invalid):
"E:\builds\RXXXXX_Sourcecode\APF_Evaluation\BuildType\..\Sources\EsriDE.Commons\tools\EsriDE\EsriDE.Utilities.Build.Com.ComCategoryExtractor.exe"
-inDir:"E:\builds\RXXXXX_Sourcecode\APF_Evaluation\Binaries\Debug" -filter:* -separation:AssemblySeparated
-outDir:"E:\builds\RXXXXX_Sourcecode\APF_Evaluation\Binaries\Debug" -outFile:AllInOneReg -outFormat:RegistryFile
E:\builds\RXXXXX_Sourcecode\APF_Evaluation\BuildType\TFSBuild.proj(70,3):
error MSB6003: The specified task executable could not be run.
The directory name is invalid
I have no idea for a solution. Now the WorkingDirectory is not quoted.