Этот MSBuild начинает быть раллийной болью. У меня есть проект, который ссылается на .dll, но BuildServer его не находит, и я получаю «Не могу решить эту ссылку. Не удалось найти сборкуMSBuild Изменить ссылочный путь в Build?
Итак, мой проект ссылается на эту .dll как на ту, что находится в d: \ common \ DllPath \ mydll.dll, а в файле проекта mycsproj.csproj говорится HintPath .. \. . \ .. \ .. \ .. \ .. \ DllPath \ mydll.dll
Итак, все работает отлично, когда я создаю его на своей рабочей станции, И если я открою его с VS2012 на Build-сервере. (На сервере пути на самом деле также D: \, но это просто совпадение.)
Но когда я пытаюсь построить его как определение сборки, он терпит неудачу. Похоже, он строит его в C: \ Builds \ 43 \ Myapp, и я думаю, когда «SearchPath» {HintPathFromItem} «Учитывался» .. \ .. \ .. \ .. \ .. \ .. \ DllPath \ mydll.dll ", но его не было". находится в журнале, он пытается найти .dll в папке c:.
Как я могу заставить его указывать ссылку на «правильный» каталог? Для меня это тот же раздел, что и сам проект.
Является ли это в определениях Build, или мне нужно что-то изменить в файле .csproj? (В .csproj это уже относительный путь, и я не хочу это менять.)
«Этот MSBuild начинает болеть за раны». в моем опыте, когда это происходит, вы, вероятно, делаете это неправильно. HintPaths вроде этого просят о проблемах. Поэтому либо убедитесь, что структура каталогов на вашем сервере одинакова, либо используйте переменную property/environment, чтобы правильно настроить hintpath (например, как ответ mockinterface). – stijn
Мы получили точно такую же структуру в среде dev и Build. –