Сборка команды: не удается найти созданный частный метод доступа - PullRequest
6 голосов
/ 20 января 2010

Мы используем TeamBuild и тестируем нашу непрерывную интеграционную сборку около 4 месяцев, и эта проблема только что появилась на днях в одной из наших тестовых сборок при запуске тестов на одной из наших тестовых сборок только на сервере сборки.

{NameSpace} .Order_Accessor, версия = 0.0.0.0, Culture = нейтральный, PublicKeyToken = '{xxx}' или одна из его зависимостей. Система не может найти указанный файл.

Это не вызвано проблемами с Publicize.exe, отмеченными в других местах. Локальные тесты работают нормально, и созданная сборка действительно создается.

Часть, которая вводит в заблуждение, заключается в том, что мы используем сгенерированные сборки частного доступа в многочисленных проектах, в том числе с вышеупомянутой проблемой, без каких-либо проблем. При дальнейшем исследовании этой проблемы сгенерированная сборка никогда не копируется в каталог TestResults // Out , что, по-видимому, является проблемой. Я решил, что это проблема, добавив сборку из SolutionRoot с использованием параметров развертывания TestRunConfig, в результате чего манифест сборки не соответствует ошибке.

Мне интересно, если у кого-то были проблемы с копированием этих сборок. Мы запускаем TeamSystem 2008 на Windows Server 2008, если это поможет.

Ниже приведена ошибка развертывания тестового запуска для рассматриваемого файла. Выполнение имеет следующие проблемы:

TESTTOOLSTASK: предупреждение: проблема развертывания тестового прогона: не удалось получить файл для элемента развертывания «Шаблоны электронной почты \ OrderConfirmation.txt» (выходной каталог «Шаблоны электронной почты»), заданный тестом «EmailServiceTest.EnqueueTest»: System.IO.DirectoryNotFoundException: Не удалось найти часть пути «Построение непрерывной интеграции \ Бинарные файлы \ Тест непрерывной интеграции \ Шаблоны электронной почты \ OrderConfirmation.txt».

TESTTOOLSTASK: предупреждение: проблема развертывания тестового прогона: не удалось получить файл для элемента развертывания 'Шаблоны электронной почты \ OrderConfirmation.htm' (выходной каталог 'Шаблоны электронной почты'), указанный в тесте 'Email.Tests.EmailServiceTest .EnqueueTest ': System.IO.DirectoryNotFoundException: Не удалось найти часть пути' Непрерывная интеграция Build \ Binaries \ Continuous Integration Test \ Шаблоны электронной почты \ OrderConfirmation.htm '

TESTTOOLSTASK: предупреждение: проблема развертывания тестового запуска: сборка или модуль 'Services.Order_Accessor', на которые прямо или косвенно ссылается тестовый контейнер '\ непрерывная интеграция build \ binaries \ непрерывная интеграция test \ services.order.supplierintegration.tests.dll 'не был найден.

1 Ответ

4 голосов
/ 18 июня 2010

Похоже, ваше развертывание TestRunConfig ожидает, что файлы находятся в "Непрерывной интеграции Build \ Двоичные файлы \"

Я выделил часть "Binaries" по причине. Это папка, на которую указывает свойство $ BinariesRoot (если она не переопределена), и она используется компилятором . Поэтому я бы посоветовал вам еще раз проверить, что:

  1. Инструмент Publicize (или любой другой инструмент, который вы используете для генерации сборок) настроен на копирование вывода в ($BinariesRoot)Continuous Integration Test
  2. В типе сборки команды предусмотрены возможности копирования файлов .htm и .txt в ($BinariesRoot)Continuous Integration Test
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...