Сбой сборки TFS при добавлении файла .runsettings - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь указать файл runsettings из VS, чтобы добавить некоторые правила покрытия.

С тех пор, как я его добавил, один из тестов начал давать сбой.

В тесте используется отражение для загрузить зависимую сборку и провести некоторую проверку ее классов.

String FluentMigratorFullName = "MyAssembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null";
var fluentMigratorAssemblyName = new AssemblyName(FluentMigratorFullName);
var fluentMigratorAssembly = Assembly.Load(fluentMigratorAssemblyName);

Я получаю ошибку:

System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'MyAssembly, Version = 0.0.0.0, Culture = нейтральный, PublicKeyToken = null 'или одна из его зависимостей. Системе не удается найти указанный файл.

Локально работает.

Я знаю, что есть параметр AssemblyResolution, но расположение будет отличаться при каждом выполнении, поскольку это зависит от выбора агента сборка.

Это мои .runsettings

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <!-- Configurations that affect the Test Framework -->
  <RunConfiguration>

  </RunConfiguration>

  <!-- Configurations for data collectors -->
  <DataCollectionRunSettings>
    <DataCollectors>
      <DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
        <Configuration>
          <CodeCoverage>
            <ModulePaths>
              <Exclude>
                <ModulePath>.*MyModule.*</ModulePath>
              </Exclude>
            </ModulePaths>

            <!-- We recommend you do not change the following values: -->
            <UseVerifiableInstrumentation>True</UseVerifiableInstrumentation>
            <AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
            <CollectFromChildProcesses>True</CollectFromChildProcesses>
            <CollectAspDotNet>False</CollectAspDotNet>

          </CodeCoverage>
        </Configuration>
      </DataCollector>

    </DataCollectors>
  </DataCollectionRunSettings>

  <!-- Parameters used by tests at runtime -->
  <TestRunParameters>

  </TestRunParameters>

  <!-- Adapter Specific sections -->

  <!-- MSTest adapter -->
  <MSTest>
    <MapInconclusiveToFailed>false</MapInconclusiveToFailed>
    <CaptureTraceOutput>true</CaptureTraceOutput>
  </MSTest>

</RunSettings>

ОБНОВЛЕНИЕ:

Я заметил, что "Параллельный запуск тестов на многоядерных машинах" был активен раньше.

Повторное включение решило проблему. Есть идеи почему? enter image description here

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