Построение решения на сервере TFS не может найти сборки из внешнего источника NuGet - PullRequest
1 голос
/ 01 июля 2019

Я не могу успешно построить решение на сервере TFS. Хотя, похоже, что все мои пакеты NuGet восстановлены, я получаю сообщение об ошибке Ошибка CS0246: не удалось найти тип или имя пространства имен 'MyAssembly' (вы пропустили директиву using или ссылку на сборку?) . К вашему сведению, это успешно основано на моей локальной среде.

Этапы сборки

Вот что я предоставил для шагов сборки:

Восстановление NuGet

Это входные данные, которые я предоставил, в то время как все остальное использует значение по умолчанию:

  • Путь к решению или packages.config: $ / MyApp / MyApp / MyApp.sln
  • Путь к NuGet.config: $ / MyApp / MyApp / NuGet.Config
  • Тип установки: Восстановление

Внутри моего NuGet.Config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="My Packages" value="\\server\Nuget Packages" />
  </packageSources>
</configuration>

Когда этот шаг сборки выполняется, он завершается успешно и говорит:

Все пакеты, перечисленные в packages.config, уже установлены

Построение решения

Это входные данные, которые я предоставил, в то время как все остальное использует значение по умолчанию:

  • Решение : $ / MyApp / MyApp / MyApp.sln

При выполнении этого шага сборки появляются ошибки, подобные:

Ошибка CS0246: не удалось найти тип или имя пространства имен «MyAssembly» (отсутствует директива using или ссылка на сборку?)


Структура папок

Вот структура папок решения и package.configs

  • MyApp
    • MyApp.Core
      • package.config
    • MyApp.Web
      • package.config
    • NuGet.Config
    • MyApp.sln

Любые предложения будут полезны, и, пожалуйста, дайте мне знать, если потребуется предоставить дополнительную информацию. Спасибо!

1 Ответ

0 голосов
/ 02 июля 2019

Строительное решение на сервере TFS не может найти сборки из внешнего источника NuGet

NuGet проверит каталог пакетов для решения при восстановлении.

Он проверяет, что этот каталог пакетов содержит файлы .nupkg и манифеста для пакета NuGet и, если это так, считает, что пакет NuGet уже установлен.

Итак, , чтобы решить эту проблему, убедитесь, что вы не добавили папку \packages в систему контроля версий. Если да, попробуйте вывести его из-под контроля исходного кода.

Надеюсь, это поможет.

...