MSBuild не удалось создать ссылочные проекты при обновлении до VS2010 - PullRequest
1 голос
/ 08 декабря 2010

Я недавно обновил свое решение .Net 3.5, содержащее некоторые проекты с кодом C # и проект веб-сайта ASP.net, до VS2010 (с VS2008).Он работает и работает нормально внутри VS, но у меня возникают проблемы при попытке собрать его на моем сервере с MSBuild 4.0 через TeamCity.Похоже, что проекты, на которые есть ссылки с веб-сайта, не созданы.Это все работало нормально до того, как я обновился до VS2010, MSbuild 4.0 и Windows SDK 7.1.

Внутри сценария msbuild, который я использую для сборки из teamcity, я определил ссылки на проекты для веб-сайта, например:

  <ProjectReference Include="..\src\trunk\DataAccess\DataAccess.csproj">
     <Project>{C43242F4-7286-4BEC-9A27-001D6FC14860}</Project>
     <Name>DataAccess</Name>
  </ProjectReference>

Когда я пытаюсь запустить скрипт сборки, я получаю сообщение об ошибке, в котором говорится, что не удалось найти файл dll при попытке скопировать его из папки bin ссылочного проекта в папку bin веб-сайта.Это происходит потому, что указанные проекты фактически никогда не создаются вообще (в каталоге проекта нет папки bin).

Кто-нибудь знает, что может быть причиной этого?Я не очень разбираюсь в MSbuild, поэтому, возможно, я упустил некоторые важные вещи.Разве это не так, что MSbuild будет автоматически пытаться создавать проекты, на которые ссылаются, если нет выходных данных проекта?

Буду благодарен за любую помощь!

Ответы [ 2 ]

1 голос
/ 08 декабря 2010

Мне понадобится дополнительная информация, чтобы помочь вам в этом, но, не смотря на это, попробуйте добавить

/toolsversion:3.5

в ваш вызов msbuild.

0 голосов
/ 31 декабря 2011

Я нашел еще один пост на этом сайте, описывающий вашу точно такую ​​же проблему. Я тоже столкнулся с этой же проблемой. Этот блог на веб-сайте MSDN описывает проблему и способ ее решения. По сути, это ограничение файлов решений, которые не в формате MSBuild, а просто необычный текстовый файл. И на самом деле, зависимости нужно указывать в файлах проекта, а не в файле решения. аааа ... просто прочитайте ссылку, это объясняет это в сто раз лучше, чем мой ответ здесь.

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