Подтвердить что ты не робот

Как использовать MSBuild для развертывания приложения ASP.NET MVC

Я полный noob относительно msbuild, но рекомендуется использовать его на основе предыдущего ответа на вопрос который я опубликовал несколько дней назад.

Во всяком случае, я ищу некоторые рекомендации по началу работы с MSBuild... и, в частности, используя его для автоматизации развертывания приложений ASP.NET MVC.

Спасибо большое!

4b9b3361

Ответ 1

Для веб-материалов вы должны использовать Проекты веб-развертывания. Это бесплатное дополнение от Microsoft, которое будет запускать aspnet_compiler и инструмент aspnet_merge на вашем веб-сайте или в веб-проекте (MVC в вашем случае). Вы можете настроить сборку там, чтобы помочь вам подготовиться к развертыванию.

О начале работы с ресурсами MSBuild

Ответ 2

Я использую msbuild напрямую, пропуская nAnt. Вы можете вызвать его с помощью файла сборки в качестве свойства и указать цель из командной строки. Вот образец файла soultion.build:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <!-- Import the MSBuild Tasks -->
  <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <ClassLibraryOutputDirectory>bin$(Configuration)</ClassLibraryOutputDirectory>
    <ProjectDir>.\</ProjectDir >
    <ProjectTestDir>DALTests\</ProjectTestDir >
    <ProjectFile>$(ProjectDir)SSN.sln</ProjectFile >
    <TestProjectFile>$(ProjectTestDir)DALTests.csproj</TestProjectFile >
  </PropertyGroup>

  <!-- Build projects by calling the Project files generated by VS -->
  <Target Name="Build">
    <MSBuild Projects="$(ProjectFile)" />
    <MSBuild Projects="$(TestProjectFile)" />
  </Target>

  <!-- Run Unit tests -->
  <Target Name="Test" DependsOnTargets="Build">
    <CreateItem Include="DALTests\Bin\Debug\DALTests.exe">
      <Output TaskParameter="Include" ItemName="DALTests" />
    </CreateItem>
    <NUnit Assemblies="@(DALTests)" ToolPath="D:\Program Files\NUnit 2.4.5\bin" ContinueOnError="false" OutputXmlFile="SoultionTestResults.xml" />
  </Target>
</Project>

Я вызываю это из пакетного файла следующим образом: (в том же каталоге, что и soultion.build)

C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe Soultion.Build /Target:Build

Вам понадобится dll MSBuild Community Tasks, просто выполните его.

Ответ 4

Я использовал MSBuild в более крупной схеме CI. Я использую Hudson для запуска заданий сборки, которые мы MSBuild для сборки сборок, но не для развертывания. Для развертывания я использую BeyondCompare для "синхронизации" файлов с папкой сайта IIS.