Извините, что сообщаю, что файл publish.xml, который использует VS2010, не предназначен для такого использования. На самом деле он даже не был предназначен для регистрации / передачи другим лицам.
Логика чтения / записи этих файлов строго содержится в Visual Studio и недоступна через MSBuild. Таким образом, сегодня не существует прямого способа сделать это. Вы должны передать имена / значения отдельных свойств при вызове msbuild.exe. Вы можете увидеть похожий вопрос, на который я ответил на Team Build: Публикуйте локально, используя MSDeploy для получения дополнительной информации.
Примечание для VS 11 Developer Preview
Точно так же вы знаете, что мы рассмотрели это в следующей версии Visual Studio. Вы можете увидеть, загрузив предварительный просмотр разработчика VS 11. Теперь все профили сохраняются в свои собственные файлы (в разделе PublishProfiles в узле «Свойства» в обозревателе решений). Теперь они предназначены для регистрации и передачи членам команды. Эти файлы теперь являются файлами MSBuild, и вы можете настроить их, если хотите. Для публикации из командной строки просто передайте DeployOnBuild = true и задайте для PublishProfile имя профиля. Например:
msbuild.exe MyProject.csproj /p:DeployOnBuild=true;PublishProfile=MyProfile