3

Это моя первая попытка настроить автоматическую сборку на Visual Studio Online.msbuild error: свойство DirectoryName не существует или не было найдено

После создания новой сборки я поставил ее в очередь. Первый шаг был успешно завершен (Get sources). Теперь я испытываю ошибки и ошибки на этапе сборки. Вот небольшой фрагмент кода, включая сообщения:

782 2015-08-31T16:30:52.4324803Z Executing the powershell script: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\tasks\VSBuild\1.0.13\VSBuild.ps1

783 2015-08-31T16:30:54.0509690Z ##[error]The property DirectoryName does not exist or was not found.

784 2015-08-31T16:30:54.1321607Z C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe "C:\a\5bc0b6a3\MySolution" /nologo /m /nr:false /fl /flp:"logfile=C:\a\5bc0b6a3\MySolution.log" /dl:CentralLogger,"C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agent\worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll"*ForwardingLogger,"C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agent\worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll" /p:platform="any cpu" /p:configuration="debug" /p:VisualStudioVersion="14.0"

785 2015-08-31T16:30:54.2859104Z MSBUILD : error MSB1009: Project file does not exist.

Я искал строку DirectoryName во всем растворе без успеха и теперь имеют представление, что это значит.

Компиляция отлично работает на моем ПК, и я понятия не имею, с чего начать смотреть.

Любые идеи?

ответ

3

Вы упускаете реальную ошибку:

785 2015-08-31T16:30:54.2859104Z MSBUILD : error MSB1009: Project file does not exist. 

Вы должны указать путь к файлу решения. Вы можете видеть, что вы не так:

C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe "C:\a\5bc0b6a3\MySolution" /nologo /m /nr:false /fl /flp:"logfile=C:\a\5bc0b6a3\MySolution.log" /dl:CentralLogger,"C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agent\worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll"*ForwardingLogger,"C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agent\worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll" /p:platform="any cpu" /p:configuration="debug" /p:VisualStudioVersion="14.0"

Вы можете просто указать **\*.sln для параметра «Solutions», и он будет обнаруживать и строить все решения в рабочей области вы отображенной. Если вам нужно уточнить, вы можете это сделать.

+1

Я попытался указать только проект (.csproject), так как у моего решения есть несколько, и я не хочу их компилировать. Но, похоже, это общий подход, чтобы получить полное решение, чтобы избежать дополнительной настройки. Кроме того, кажется, что у самородка есть некоторые проблемы с загрузкой пакетов, когда решение не указано. Когда я начинаю свои автоматические сборки, я решил вернуться к ** \ *. Sln, как вы предложили. Благодарю. –

+0

Боковое примечание - nuget в новом VSo-конвейере сборки восстанавливает пакеты для всех проектов в решении, просто настройте его как отдельный шаг предварительной сборки, а не вариант «Включить восстановление nuget on build» внутри решения. Также у меня нет проблем с созданием отдельных проектов или скриптом пользовательской сборки. только одна вещь, которая может пойти не так в этом случае - свойства платформы и конфигурации часто должны быть указаны явно. –

0

Папка, в которой файл решения должен находиться в или под одним из путей, как определено в сопоставлениях на вкладке «Репозиторий», в противном случае также появится ошибка «Файл проекта не существует».

Смежные вопросы