Почему MSBuild не выполняет несколько целей?

Можно использовать управление WebBrowser в режиме проектирования с секундой WebBrowser набор управления в поле зрения режим.

для помещения эти WebBrowser управление в режиме проектирования, можно использовать следующий код.

Этот код является супер, разделенным вниз версия WYSIWYG-редактора для одного из наших программных продуктов.

Просто создают новую Форму, отбрасывают WebBrowser управление на нем и помещают это в Форму. Загрузка:

Me.WebBrowser1.Navigate("")
Application.DoEvents()
Me.WebBrowser1.Document.OpenNew(False).Write("
Edit this text
") 'turns off document body editing For Each el As HtmlElement In Me.WebBrowser1.Document.All el.SetAttribute("unselectable", "on") el.SetAttribute("contenteditable", "false") Next 'turns on editable div editing With Me.WebBrowser1.Document.Body.All("editable") .SetAttribute("width", Me.Width & "px") .SetAttribute("height", "100%") .SetAttribute("contenteditable", "true") End With 'turns on edit mode Me.WebBrowser1.ActiveXInstance.Document.DesignMode = "On" 'stops right click->Browse View Me.WebBrowser1.IsWebBrowserContextMenuEnabled = False

16
задан Mitch Wheat 11 July 2009 в 08:50
поделиться

3 ответа

You need to tell MSBuild about your multiple targets

Try

<Target Name="Build" DependsOnTargets="T1; T2">
</Target>
29
ответ дан 30 November 2019 в 15:44
поделиться

MSBuild позволяет вам определять цель по умолчанию и позволяет вам определять зависимости между вашими целями. Если значение по умолчанию не определено, запускается первое найденное. Используя DefaultTargets, вы можете вызвать несколько:

<Project DefaultTargets="T1;T2">

Цель должна выполнить все один четко определенный шаг. Например, цель Clean удалит все файлы и папки, необходимые для очистки проекта. Компиляция компилирует все библиотеки DLL и т. Д.

Обычно ваши цели должны объявлять свои собственные зависимости:

<Target Name="CI" DependsOnTargets="T1, T2">
</Target>

В противном случае ваша цель должна содержать все отдельные шаги, которые вы хотите выполнить:

<Target Name="XX">
    <CallTarget Targets="T1"/>
    <CallTarget Targets="T2"/>
</Target>
18
ответ дан 30 November 2019 в 15:44
поделиться

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

  • Цели, которые вы указываете с помощью переключателя / t в msbuild.exe
  • Цели, содержащиеся в атрибуте DefaultTargets элемента Project
  • Первая цель, которая находится в сценарии сборки ( на самом деле немного сложнее )

Как сказал предыдущий комментатор, вы можете использовать список DependsOnTargets, чтобы другие цели выполнялись первыми перед этой целью.

О программе. ваше решение, AfterTargets доступно только в MSBuild 4.0, поэтому оно не будет работать с предыдущими версиями.

Сайед Ибрагим Хашими

Моя книга: Внутри Microsoft Build Engine: Использование MSBuild и Team Foundation Build

2
ответ дан 30 November 2019 в 15:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: