Вопрос

У меня есть файл решения с веб-сайтами ASP.NET.

Когда я создаю решение с помощью .NET 4.0 Beta 2, используя

"c:\WINDOWS\Microsoft.NET\Framework\v4.0.21006\MSBuild.exe" d:\MyPath\MySolution.sln

Все работает нормально, ошибок нет.Затем я пытаюсь создать то же решение с помощью задачи CruiseControl .NET (скрипт msbuild, запускаемый службой), то же решение терпит неудачу:

D:\MyPath\MyWebSite.metaproj (,):ошибкаMSB4025:Не удалось загрузить файл проекта.Не удалось найти файл «D:\MyPath\MyWebSite.metaproj».

Конечно, такого файла нет.Я предполагаю, что *.metaproj - это .csproj-подобный msbuild-файл, динамически создаваемый для веб-сайтов...

Но я не знаю, как исправить ошибку...Я пытался использовать метапроекты Google, но безуспешно.Я попытался создать файл вручную, я вставил <Project> с <Task Name="Rebuild">, и компиляция не вызвала никаких ошибок, но я думаю, что сайт не скомпилировался.

На одной и той же машине имеются проекты .NET 3.5 и .NET 4.0 и переменные среды для обеих платформ.

Это было полезно?

Решение 4

В финальной версии Visual Studio 2010 эта ошибка исправлена.

Другие советы

Это можно обойти, если избавиться от зависимостей проекта в файле решения.Вы можете сохранить зависимости проекта в файле проекта, но удалить их из файла решения.См. эту ссылку для этого
Отвечать.

У меня такая же проблема с сервером сборки tfs 2008.Как только я переключил конфигурацию сервера tfs builder на использование msbuild 4.0, у меня началась та же проблема.Если я запускаю msbuild вручную, все в порядке, и в журнале говорится, что он создает файл метапроекта, но в процессе автоматической сборки происходит сбой.

Расс

Я читал обсуждения CruiseControl и пытался запускать те же команды, что и CruiseControl.net, и решил свою проблему, переместив свой

Пробелы в именах каталогов приводят к сбою msbuild в режиме круиз-контроля!??

Поэтому каталоги Круиз-контроля даю явно без пробелов.Пример ниже.

<Project name="ProjectNameHere"> <workingDirectory>c:\dev\work\ProjectNameHere\WorkDir</workingDirectory> <artifactDirectory>c:\dev\work\ProjectNameHere\Artifacts</artifactDirectory> ...

Сначала я создал my_website.metaproj рядом с my_solution.sln, который выглядел следующим образом:

<Project DefaultTargets="Test" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <Target Name="Build">
    <Message Text="Building...but nothing to build" />
  </Target>

  <Target Name="Test">
    <Message Text="Testing...but nothing to test." />
  </Target>

  <Target Name="Clean">
    <Message Text="Cleaning...but nothing to clean." />
  </Target>

</Project>

Затем он пожаловался, что не находит sgen.exe.Я установил Visual Studio 2010 Beta 2 на агент сборки, и похоже, что теперь он работает.

Редактировать] Это на самом деле не сработало.Он не переносил зависимости проекта веб-сайта в каталог bin.

В итоге мы очистили процесс сборки обновления и переделали процесс сборки с использованием вариации стандартного шаблона.Это сработало нормально.

В VS2013 переключение с Шаблон по умолчанию к TfvcTemplate.12 у меня сработало!

Некоторая информация о TfvcTemplate.12 здесь http://blog.qetza.net/en/2013/10/03/new-features-in-team-build-2013/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top