VS 2010 предварительно компилировать сайты с процессом сборки? - PullRequest
1 голос
/ 26 сентября 2011

VS 2010;TFS 2010;ASP.Net 4.0;Web Deployment Projects 2010;

Я использую шаблоны процесса сборки для развертывания одним щелчком (только для dev и QA).Я хочу, чтобы мои сайты были предварительно скомпилированы.Я могу сделать это с помощью командной строки, используя:

 C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler 
-v /site_name 
-p "C:\...\site_name" 
-f "C:\...\site_name1"

, и это прекрасно работает, если я копирую файлы с site_name1 на site_name ...

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

Ответы [ 4 ]

3 голосов
/ 06 декабря 2011

Вы можете сделать это, добавив следующее в .csproj файл

<PropertyGroup>
<PrecompileVirtualPath>/whatever</PrecompileVirtualPath>
<PrecompilePhysicalPath>.</PrecompilePhysicalPath>
<PrecompileTargetPath>..\precompiled</PrecompileTargetPath>
<PrecompileForce>true</PrecompileForce>
<PrecompileUpdateable>false</PrecompileUpdateable>
</PropertyGroup>

 <Target Name="PrecompileWeb" DependsOnTargets="Build">
<Message Importance="high" Text="Precompiling to $(PrecompileTargetPath)" />
<GetFullPath path="$(PrecompileTargetPath)">
  <Output TaskParameter="fullPath" PropertyName="PrecompileTargetFullPath" />
</GetFullPath>
<Message Importance="high" Text="Precompiling to fullpath: $(PrecompileTargetFullPath)" />
<GetFullPath path="$(PrecompilePhysicalPath)">
  <Output TaskParameter="fullPath" PropertyName="PrecompilePhysicalFullPath" />
</GetFullPath>
<Message Importance="high" Text="Precompiling from fullpath: $(PrecompilePhysicalFullPath)" />
<AspNetCompiler PhysicalPath="$(PrecompilePhysicalPath)" VirtualPath="$(PrecompileVirtualPath)" TargetPath="$(PrecompileTargetPath)" Debug="true" Force="$(PrecompileForce)" Updateable="$(PrecompileUpdateable)" FixedNames="true" />

Тогда в стандартном шаблоне TFS2010

  • ваше определение сборки
  • Вкладка процесса
  • Раздел расширенных параметров
  • MSBuild Аргументы
  • набор /target="PrecompileWeb"
0 голосов
/ 31 августа 2016

Добавлена ​​настройка для предварительной компиляции. Следующие работы в Visual Studio 2015

  1. Открыть решение
  2. Щелкните правой кнопкой мыши по проекту
  3. Выберите «Опубликовать ...»
  4. Зайдите в настройки, разверните "Файл
  5. Отметьте «Прекомпилировать во время публикации»
0 голосов
/ 26 января 2012

У нас есть веб-сайт, который хранится в TFS2010 как веб-приложение.Я использую команду MSBuild для развертывания из TFS2010.Если вы откроете свой проект в VS2010 Team Explorer, вы увидите, что есть опция «Сборки».Если вы добавляете сборку и на вкладке процесса используйте аргумент сборки, например ...: / p: DeployOnBuild = True / p: DeployTarget = MsDeployPublish / p: CreatePackageOnPublish = True / p: MSDeployPublishMethod = RemoteAgent / p: MSDeployServiceUrl= http://111.111.111.111/msdeployagentservice / p: DeployIisAppPath = MySiteNameInIIS / p: UserName = myDomain \ BuildUser / p: Password = BuildUserPassword На вкладке «Процесс», где говорится «Элементы для сборки», вы просто указываете на свой файл .sln (можетработать с .cspro, но затем синтаксис немного меняется)

У нас есть сервер TFS2010, и я развернул несколько наших сайтов на сервере IIS для разработки, подготовки к работе или на производстве.Я выполняю модульное тестирование на сборке dev, и если тест не пройден, я не развертываюсь.

Команда MSBuild выполняет предварительную компиляцию, будет ли это работать для вас?

0 голосов
/ 29 сентября 2011

В настоящее время я не могу найти ни одной опции IDE для предварительной компиляции веб-сайтов с использованием шаблонов процесса сборки. Мне бы очень хотелось, чтобы меня ошиблись, поскольку использование командной строки aspnet_compiler требует от нас (в нашей настройке) вскрытия фактического шаблона процесса сборки, которого мы стараемся избегать.

Мне бы очень хотелось оказаться неправым! :)

...