Прекомпиляция веб-приложения ASP.NET с помощью MSBuild - PullRequest
2 голосов
/ 13 октября 2009

У меня есть проект веб-приложения c # в Visual Studio 2008, который я хочу предварительно скомпилировать для развертывания. После просмотра различных вариантов кажется, что у всех есть некоторые проблемы - возможно, кто-то мог бы высказать свое мнение по этому поводу:

Проект находится под контролем исходного кода и также содержит множество файлов, которые исключены из проекта.

Проекты веб-развертывания не работают. Если я попытаюсь использовать wdp для компиляции, aspnet_compiler.exe также попытается скомпилировать все исключенные файлы. Я не хочу вести список исключений в скрипте msbuild.

Есть ли способ указать msbuild только использовать файлы / элементы, указанные в файле csproj, скопировать их в промежуточную папку и создать из этой копии сборку aspnet_complier.exe, которая не содержит ни одного из исключенных файлов?

Сайт имеет зависимости от 3 других файлов csproj.

Спасибо!

Ответы [ 2 ]

1 голос
/ 09 декабря 2009

Вы можете сделать задачи msbuild, чтобы скрыть (attrib + h) или удалить ненужные файлы ...

  <PropertyGroup>
    <MyLogFile>kaantologi.txt</MyLogFile>
    <MyWebSourcePath>c:\sourecontrol\myweb</MyWebSourcePath>
    <!-- *.tmp and .exclude and etc: -->
    <MyCleaup>
      attrib $(MyWebSourcePath)\*.tmp -r -s -h -a /s >>$(MyLogFile)
      del $(MyWebSourcePath)\*.tmp /q /s >>$(MyLogFile)
      attrib $(MyWebSourcePath)\*.exclude +h
    </MyCleaup>
  </PropertyGroup>
  <Target Name="MyClean">
    <Exec Command="$(MyCleaup)" />
  </Target>
  <Target Name="MyFinal">
    <Exec Command="attrib $(MyWebSourcePath)\*.exclude -h"/>
  </Target>
  <Target Name="MyBuild">
    <CallTarget Targets="MyClean" />
    <CallTarget Targets="MyCompile" /><!--...-->
    <CallTarget Targets="MyFinal" />
  </Target>

Или вы можете использовать файл решения (.sln) и иметь свой csproj там и построить его.

Ps. Не совсем ваша проблема, но это может помочь (это касается веб-сайтов, а не веб-приложений):

Невозможно опубликовать с помощью msbuild или aspnet_compiler с помощью cc.net

0 голосов
/ 04 декабря 2009

По какой причине вы не можете запустить aspnet_compiler.exe как часть сценария развертывания?
Почему файлы там, если они не используются?

Предложение: Запустите компилятор при развертывании или удалите файлы

...