Прекомпиляция веб-приложения ASP.NET с помощью MSBuild

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

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

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

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

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

Спасибо!

13.10.2009 07:04:10
Вы получили какие-либо результаты к этому?
Jon 2.12.2009 17:19:48
2 ОТВЕТА

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

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

0
4.12.2009 06:00:04

Вы можете сделать задачи 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

1
23.05.2017 12:07:05