Skip to main content
Runs MSBuild operations on an MSBuild project file and deliver artifacts. 

Target Properties

Property Name

Property Code

Required

Description

MSBuild Home

FDMSB_MSBUILD_HOME

Yes

Path where the .NET framework is installed. Value should be up to but not including the bin folder. (e.g. C:\installs\microsoft\Microsoft Visual Studio\2019\Community\MSBuild\Current)

This folder should have a bin folder with the MSBuild executable (MSBuild.exe).

Note: You can use Community or Professional version of Microsoft Visual Studio.

Inputs

Input Name

Input Code

Required

Description

Project Source Folder

FDMSB_INP_PROJECT_SOURCE_FOLDER

No

Path to the project which contains one of the supported MSBuild project files. If a relative path is given, a path inside of the FD_TEMP_DIR will be assumed.

If value is not provided for this input, FD_TEMP_DIR will be assumed.

Project File Name

FDMSB_INP_PROJECT_FILE_NAME

No

MSBuild project file name. The file will be searched in the project source folder if provided, otherwise in the exported source folder in the temp directory will be used.

If value is not provided for this input, the plugin searches for files with these extensions, in order: sln, csproj, vbproj, vcxproj, dbproj, fsproj, pyproj, rbproj, wixproj, vdproj, isproj, pssproj, modelproj. Solution files (.sln) are preferred. Visual Studio backup project files (names matching * - Backup.ext or * - Backup (n).ext, such as MyApp - Backup.csproj) are skipped during auto-selection. @Since 11.2.0.0

If this input is set, that file is used even if it is a Visual Studio backup project file.

Command Line Arguments

FDMSB_INP_CMD_LINE_ARGS

No

The MSBuild.exe arguments or properties, formatted as key=value. Provide one pair per line.

When Pass Arguments as Properties is No, multiple arguments are passed to MSBuild.exe space-separated (for example /t:Rebuild /p:Configuration=Release). When Pass Arguments as Properties is Yes, arguments are joined with semicolons inside a single /p: block. @Since 11.2.0.0

Pass Arguments as Properties

FDMSB_INP_PASS_ARGS_AS_PROPERTIES

No

If yes, will prefix /p: before the arguments and join them with semicolons. If no, arguments are passed as separate MSBuild switches, space-separated. @Since 11.2.0.0

Save Artifacts

FDMSB_INP_SAVE_ARTIFACTS

No

Defaults to true. If checked, plugin will save artifacts from this folder in to execution artifacts directory.

Artifacts Subfolder

FDMSB_INP_ARTIFACTS_SUBFOLDER

No

Specify Subfolder under Project Location where artifacts are generated by MSBuild. Defaults to bin.

When this input is blank or bin, and Properties/PublishProfiles/FolderProfile.pubxml defines PublishUrl, that publish path is used instead so only deployable publish output is saved. An explicit custom Artifacts Subfolder (other than bin) is always used and the publish profile is ignored. @Since 11.2.0.0

Plugin will save artifacts from this folder in to execution artifacts directory if Save Artifacts is checked.

The OutDir property offered by MSBuild is used to move the artifacts generated to the user-defined directory.

Restrict Environment

FDMSB_INP_RESTRICT_ENVIRONMENT

No

Provide comma-separated target group codes to restrict environment variables in shell to specified target group codes. If no value is provided all properties are available to shell environment.

Artifacts 

This operation produces artifacts if the Save Artifacts input is checked. Otherwise, you may wish to use the file or shell plugin to move the correct files to the artifacts folder later in the workflow. If you check Save Artifacts, then indicate proper Artifacts Subfolder as well. When Artifacts Subfolder is left as bin or blank, the plugin prefers the PublishUrl from FolderProfile.pubxml when that file is present.

Endpoint Selection 

This operation delegates endpoint selection to the workflow developer. The workflow editor will default the selection to “All”, which selects all available endpoints associated with the Target. Selecting a specific resource will result in selection of endpoints associated with the Target which have that resource defined.

Endpoint Execution

This operation delegates endpoint execution to the workflow developer. The workflow editor will default to “Any”, which will execute on any one of the selected endpoints, which will be randomly picked from selected endpoints or a specific endpoint where the previous step may have executed. Changing this value to “All” will result in execution on all selected endpoints.