Я работаю над созданием задачи пользовательской сборки, которая читает xml-файлы и объединяет содержимое в один XML-файл и записывает его в выходной каталог сборки, я использую $ {OutputPath), чтобы получить это.msbuild пользовательская задача не работает в TFS с DirectoryNotFoundException
Задача сборки прекрасно работает при локальном построении, файл xml появляется, как ожидалось.
Однако я добавил новое решение, и, таким образом, файл csproj с переопределенным объектом AfterCompile (я также попробовал AfterBuild) с конкретной пользовательской задачей, необходимой для нашего основного проекта сборки TFS. Сбой сборки TFS теперь из-за того, что моя пользовательская задача выбрасывает исключение:
Не удалось выполнить задачу «QBBuildTask». System.IO.DirectoryNotFoundException: Не удалось найти часть пути пути 'C: * для вывода сборки TFS для этого решения * \ 86 \ Release \ QueryBuilder.xml'.
Обратите внимание, что ** - мое дополнение, чтобы уменьшить размер ошибки для SO.
Похоже, папка выпуска не существует, когда моя задача пытается ее написать.
Мой вопрос: должен ли я получить задание для создания каталога, если он не существует, или я использую неправильную переменную пути вывода для TFSBuild?
Кажется немного странным, что он работает правильно локально, даже если я удаляю выходные папки, прежде чем пытаться построить.
У кого-нибудь есть идеи?
Marlon
Вы можете попробовать использовать $ (OutDir), это должно быть правильно для VS и TFS –