MSBuild: Создание сайтов asp.net 4.0: .metaproj -files - PullRequest
4 голосов
/ 26 октября 2009

У меня есть файл решения с веб-сайтами 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 (,): errorMSB4025: не удалось загрузить файл проекта. Не удалось найти файл 'D: \ MyPath \ MyWebSite.metaproj'.

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

Но я не знаю, как исправить ошибку ... Я безуспешно пытался гуглить metaproj-файлы. Я попытался создать файл вручную, я вставил с , и компиляция не вызвала ошибок, но я предполагаю, что сайт не компилировался.

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

Ответы [ 6 ]

2 голосов
/ 28 октября 2009

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

1 голос
/ 26 апреля 2010

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

1 голос
/ 24 января 2010

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

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

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

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

1 голос
/ 26 октября 2009

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

Russ

0 голосов
/ 12 марта 2015

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

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

0 голосов
/ 27 октября 2009

Сначала я создал 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.

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

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