MSBuild в AppVeyor VM, похоже, не создает новый проект в моем решении C#
Редактировать - Решение найдено: я обнаружил, что когда я открыл Visual Studio на своей виртуальной машине AppVeyor и собрал ее там, каталог bin был успешно создан для моего нового проекта. Это побудило меня попытаться воссоздать проблему на моем локальном компьютере, используя CLI MSBuild для построения моего решения, а не Visual Studio. Конечно, каталог bin не удалось создать на моем локальном компьютере.
Это оказалось пагубной ошибкой слияния в моем файле.sln, которую я объясняю здесь: /questions/41255275/proekt-visual-studio-ne-sozdaetsya-pri-sborke-resheniya-iz-msbuild/41255277#41255277
Проблема:
Моя виртуальная машина AppVeyor, похоже, не создает новый проект, который я только что добавил в свое решение C# Visual Studio. Когда я удаленный рабочий стол в моей виртуальной машине AppVeyor, я вижу путь C:\projects\repoName\myClassLibraryProject\
существует, но в этой папке нет каталога bin. Все остальные проекты в этом решении имеют каталоги bin, и их dll успешно собраны.
Контекст:
У меня есть непрерывная интеграция репозитория github через AppVeyor. Репозиторий содержит единственное решение C# Visual Studio 2015. Я просто добавил новый проект библиотеки классов в решение, которое не используется никаким другим проектом в решении, но предназначено для упаковки в виде библиотеки в размещенном в AppVeyor фиде нугетов, связанном с этим репо. Мое решение успешно создается на моей локальной машине через Visual Studio. Я также использую пакет для управления своими зависимостями, и в моей команде определена следующая команда after_build appveyor.yml
файл конфигурации для генерации пакетов nuget, необходимых для канала:
after_build:
- cmd: .paket\paket.exe pack --version %APPVEYOR_BUILD_VERSION% --build-config Release --include-referenced-projects --verbose build-artifacts --lock-dependencies
packet.exe pack
Команда успешно выполняется на моей локальной машине. Тем не менее, команда не выполняется во время сборки AppVeyor со следующим сообщением:
Paket failed with
-> DirectoryNotFoundException: Could not find a part of the path 'C:\projects\repoName\myClassLibraryProject\bin\Release\myClassLibraryProject.dll'.
Меня особенно смущает, почему AppVeyor даже достигает фазы after_build, если этот проект не удается скомпилировать. Как будто он даже не пытается. В appveyor.yml
Я установил детализацию в подробности...
verbosity: detailed
... и загрузил файл журнала. Первая временная метка для файла журнала [00:02:51]
Я не уверен, что вижу все это, но первое упоминание о моем новом проекте таково:
[00:04:40] Loading assembly metadata for C:\projects\repoName\myClassLibraryProject\bin\Release\myClassLibraryProject.dll
Это вывод, связанный с командой paket.pack, которая завершается неудачей после этого.
Я также вижу ссылки на некоторые исходные файлы моего проекта в разделах журнала, которые начинаются с:
[00:04:23] Task "Csc"
Мои попытки отладки:
Помимо просмотра журнала и изучения файлов в виртуальной машине AppVeyor, я также сравнил файл AssemblyInfo.cs нового проекта и необработанный файл.csproj с существующими проектами, но не заметил ничего, что показалось мне существенно отличающимся. Я все еще в растерянности.