BuildShadowTask "Не удалось загрузить файл или сборку" - PullRequest
4 голосов
/ 21 июня 2010

Мое решение построено отлично в прошлую пятницу.

Сегодня я его запустил и получаю сообщение об ошибке:

Не удалось загрузить файл или сборку «MyApplication, версия = 0.0.0.0, Culture = нейтральный, PublicKeyToken = null» или одну из его зависимостей. Система не может найти указанный файл.

Это сбой в моем проекте по тестированию модулей смарт-устройств.

У меня есть Гуглил для этого. И хотя другие имели имели мою проблему , я не могу найти исправление, которое работает.

Когда я дважды щелкаю по ошибке, я перехожу на Microsoft.TeamTest.targets. Это рассматриваемая цель:

  <Target Name="ResolveTestReferences" Condition="'@(Shadow)'!=''">
    <BuildShadowTask
        CurrentResolvedReferences="@(ReferencePath)"
        CurrentCopyLocalFiles="@(ReferenceCopyLocalPaths)"
        Shadows="@(Shadow)"
        ProjectPath="$(ProjectDir)"
        IntermediatePath="$(IntermediateOutputPath)"
        SignAssembly="$(SignAssembly)"
        KeyFile="$(AssemblyOriginatorKeyFile)"
        DelaySign="$(DelaySign)">
      <Output TaskParameter="FixedUpReferences" ItemName="ReferencePath"/>
      <Output TaskParameter="NewCopyLocalAssemblies" ItemName="ReferenceCopyLocalPaths"/>
    </BuildShadowTask>
  </Target>

Если я просто создаю свой реальный проект (не тестовый проект), то он работает нормально.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 10 октября 2012

Нашел решение.

Проблема в режиме выпуска, ссылках на проект и локальном флаге копирования. В Release сборка аксессора, кажется, построена с использованием другого механизма, который имеет недостаток.

Недостаток должен быть плохим предположением. По умолчанию для ссылки на проект установлен локальный флаг копирования. Это означает, что узел XML не записывается в файл проекта модульного теста для ссылки на проект. Если я принудительно записываю узел XML в файл проекта, переключив флаг на false, тогда к true проблема будет решена.

Еще одна ужасная хакерская работа от MS, неудивительно, что в 2012 году она не рекомендуется

0 голосов
/ 21 июня 2010

Добавьте зависимость от вашего модульного тестового проекта к реальному проекту продукта в окне свойств решения в диалоговом окне « Зависимости проекта ».

Это должно обеспечить сборку фактического продукта допроект модульного тестирования, если он еще не построен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...