практическо ръководство

Процесът на изграждане на Visual Studio е определена в поредица от MSBuild .targets файлове, които се внасят в файла на проекта. Един от внесените файлове, Microsoft.Common.targets, може да се разшири чрез добавяне на способността за изпълнение на потребителски задачи в няколко точки в процеса на изграждане. Този раздел описва два начина за разширяване на строителството на Visual Studio процес.

Замяната на предварително определени цели, определени в нейната Microsoft.Common.targets файл.

Особени имоти "DependsOn", определенията от които се съдържат в Microsoft.Common.targets файл.

В Microsoft.Common.targets файл съдържа себе си определен брой празни цели, които са в процес на изграждане извикана преди и след някои от основните цели. Например, MSBuild BeforeBuild причинява целевия обект преди основната целева обект и мишена обекта CoreBuild AfterBuild след основната целева CoreBuild. По подразбиране, празни цели в Microsoft.Common.targets файл не извършва действия, но поведението по подразбиране може да се замени с посочване на желаните цели в файла на проекта, който се внася Microsoft.Common.targets файл. В този случай, можете да използвате MSBuild задачи имат повече контрол върху процеса на изграждане.

Първостепенни предварително определени цели

В Microsoft.Common.targets файл, изберете предварително определена цел, която искате да го замените. Таблицата по-долу съдържа пълен списък от задачи, които могат да бъдат обезсилени без страх.

Определяне на целта или целите в края на файла на проекта, само след маркера . Примери.

Задачи, които се добавят към една от тези цели се изпълняват преди или след основното компилацията. Повечето от настройките се извършва в една от двете цели.

Задачи, които се добавят към една от тези цели се изпълняват преди или след обаждане повторното изграждане на основни функции. Редът на цели за изпълнение в Microsoft.Common.targets файл: BeforeRebuild. Clean. Изградете. и след това AfterRebuild.

Задачи, които се добавят към една от тези цели, извършени преди или след основното почистване функция повикването.

Задачи, които се добавят към една от тези цели, извършени преди или след разрешаването на изграждане на връзка.

Задачи, които се добавят към една от тези цели, извършени преди или след създаването на ресурси.

Най-лесният начин да се удължи процеса строителство - предефиниране на предварително определените цели, обаче, poskolkuMSBuild цели очертаването постоянно, нищо не може да попречи на друг проект, в който се внася проекта за предефиниране на целите, които вече са определени от самия теб. Например, миналата целта AfterBuild. дефинирано в файла на проекта, след това да импортирате всички останали проекти ще бъде целевата обект, който се използва по време на строителството.

За да се предпазите от нежелани флаг отменя цели да замените на имоти "DependsOn", които се използват в DependsOnTargets на атрибути около Microsoft.Common.targets файл. Така например, в целта Изграждане DependsOnTargets съдържат атрибут със стойност "$ (BuildDependsOn)". Разгледаме следния пример:

Това е XML-код фрагмент уточнява, че преди да бъде изпълнена целта Build необходима за изпълнение на всички цели, посочени в BuildDependsOn собственост. BuildDependsOn имущество се определя, както следва:

Проектите, които са внесени проектни файлове, можете да заместват тези свойства без да се записва настройките, направени от потребителя.

Особени имоти "DependsOn"

В Microsoft.Common.targets файл, изберете предварително зададен собственост "DependsOn", който трябва да бъде преразгледан. В таблицата по-долу се отнасят. Списък на често замени на имоти "DependsOn".

Дефиниране на нов екземпляр имот или имоти в края на файла на проекта. Новият имота, който включва първоначалната имота, като $ (BuildDependsOn).

Определяне на целевите потребителски обекти преди или след определянето на свойствата.

Създайте файл проект.

Често замените на имоти "DependsOn"

Имотът трябва да бъде преразгледан, ако искате да вмъкнете потребителски цели преди или след целия процес на изграждане.

Имотът трябва да бъде преразгледан, ако искате да премахнете на изходния файл от процеса на изграждане по поръчка.

Имотът трябва да бъде преразгледан, ако искате да вмъкнете потребителски процеси преди или след етапа на компилация.