Как развернуть приложение ASP.NET MVC при сборке с использованием MSBuild в Visual Studio 2015? - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу, чтобы приложение было развернуто в локальной папке при сборке проекта.Это должно создать zip-файл, который я могу использовать для импорта в IIS.Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Найдите следующие группы свойств из csproj:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

Первая предназначена для отладки, а вторая для выпуска.

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

<DeployOnBuild>true</DeployOnBuild>
<PublishProfile>EMRFHIRServer</PublishProfile>

Теперь оно будет автоматически публиковаться как для сборки Visual Studio, так и для MSBuild.

0 голосов
/ 03 декабря 2018

Командная строка

msbuild yoursolutionfile.sln /p:DeployOnBuild=true 
/p:WebPublishMethod=Package 
/p:PackageAsSingleFile=true 
/p:PackageLocation="yourpath\yourfilename.zip"

DeployOnBuild указывает msbuild для развертывания (для размещения пакета)

WebPublishMethod Создает пакет развертывания.Вы можете выбрать другие параметры для веб-публикации, такие как копия файла

PackageAsSingleFile архивирует выходные данные

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

IN VS

Вы можете использовать Мастер публикации веб-развертывания в ВСЭто в меню сборки.Он также проведет вас по шагам для этого.

Однако это только после того, как сборка будет выполнена, и это второй шаг.

Чтобы сделать все это сразу, ну, веб-публикацияпри сборке через VS не "поддерживается".Как в, не простой способ сделать это.Вы можете запустить cmd, который я показал в пост-сборке, но это буквально означает вторую перекомпиляцию, и я думаю, что это ужасная идея, так что не делайте, если это не очень маленький проект и даже тогда, нет, хорошо, может быть.

В VS за один шаг

Вернуться к MSBUILD, но с изменением xml файла проекта (команды msbuild).

Сначала создайте свой профиль публикации (файл созданмастером публикации).По сути, это создает настройки для msbuild из моего первого примера, но сохраняет его в файл.

Затем отредактируйте файл проекта (csproj), как описано в @ richardSzalay или @ chief7

Файл csproj - это команды msbuild, которые использует VS,В этих примерах вы создаете некоторые свойства (propertygroup) для настройки развертывания и цель AfterBuild для запуска публикации.

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