All Projects → microsoft → setup-msbuild

microsoft / setup-msbuild

Licence: MIT License
A GitHub Action to facilitate configuring MSBuild in the workflow PATH for building .NET Framework applications.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to setup-msbuild

Msbuild
The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
Stars: ✭ 4,643 (+2631.18%)
Mutual labels:  visual-studio, msbuild
Openrct2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
Stars: ✭ 10,115 (+5850%)
Mutual labels:  visual-studio, msbuild
Darkui
Dark themed control and docking library for .NET WinForms.
Stars: ✭ 539 (+217.06%)
Mutual labels:  visual-studio, dotnet-framework
ILMerge-MSBuild-Task
Adds ILMerge to Visual Studio 2013/2017 or automated builds. This Task is intended to work right out of the box however, it supports a configuration file where you can control every ILMerge property including the list of assemblies to be merged.
Stars: ✭ 52 (-69.41%)
Mutual labels:  visual-studio, msbuild
MvsSln
🧩 Customizable VisualStudio .sln parser, Complex support of the projects (.vcxproj, .csproj., …), Pluginable lightweight r/w handlers at runtime, and more …
Stars: ✭ 86 (-49.41%)
Mutual labels:  visual-studio, msbuild
Mysqlconnection
Simple library to make it much easier to use MySQL in Visual Studio projects
Stars: ✭ 6 (-96.47%)
Mutual labels:  visual-studio, dotnet-framework
Dockpanelsuite
DockPanel Suite - The Visual Studio inspired docking library for .NET WinForms
Stars: ✭ 1,326 (+680%)
Mutual labels:  visual-studio, dotnet-framework
winrar-keygen
Principle of WinRAR key generation.
Stars: ✭ 398 (+134.12%)
Mutual labels:  visual-studio, actions
vsSolutionBuildEvent
🎛 Event-Catcher with variety of advanced Actions to service projects, libraries, build processes, runtime environment of the Visual Studio, MSBuild Tools, and …
Stars: ✭ 66 (-61.18%)
Mutual labels:  visual-studio, msbuild
UnityAssemblies
Simple, forward-compatible references to ANY Unity DLL on ANY platform.
Stars: ✭ 65 (-61.76%)
Mutual labels:  visual-studio, msbuild
EmptyLicensesLicx
Easy continuous integration of apps using third-party controls that rely on licenses.licx files
Stars: ✭ 57 (-66.47%)
Mutual labels:  visual-studio, msbuild
Krypton-Toolkit-Suite-NET-Core
A update to Component factory's krypton toolkit to support .NET Framework 3.5 to .NET Core
Stars: ✭ 27 (-84.12%)
Mutual labels:  visual-studio, dotnet-framework
C-Sharp-Learning-Journey
Some of the projects i made when starting to learn c#, winfroms and wpf
Stars: ✭ 95 (-44.12%)
Mutual labels:  visual-studio, dotnet-framework
ansible-github actions runner
Ansible Role to deploy GitHub Actions self-hosted runner
Stars: ✭ 76 (-55.29%)
Mutual labels:  actions
ace-jump
Allows for quick movement around the editor screen. Inspired by AceJump for Webstorm and Vim plugin AceJump.
Stars: ✭ 44 (-74.12%)
Mutual labels:  visual-studio
setup-racket
A GH action for installing Racket.
Stars: ✭ 42 (-75.29%)
Mutual labels:  actions
wine vcpp
Using Visual Studio Compiler with Wine
Stars: ✭ 25 (-85.29%)
Mutual labels:  visual-studio
AspNet-Core-REST-Service
VS2017/VS2019 project template for ASP.Net Core 3.1/5.0 to create fully functional production ready RESTful services
Stars: ✭ 57 (-66.47%)
Mutual labels:  visual-studio
angular-gulp-starter
Simple dev/prod build for Angular (2+) using gulp, systemjs, rollup, ngc (AOT), scss, Visual Studio
Stars: ✭ 18 (-89.41%)
Mutual labels:  visual-studio
dapr-sidekick-dotnet
Dapr Sidekick for .NET - a lightweight lifetime management component for Dapr
Stars: ✭ 113 (-33.53%)
Mutual labels:  dotnet-framework

microsoft/setup-msbuild

This action will help discover where the MSBuild tool is and automatically add it to the PATH environment variables for you so future steps in your Actions workflow can just initiate msbuild commands without knowing the full path.

Please note this tool does NOT add other Visual Studio tools (like VSTest, cl, cmake, or others) to PATH

Example Usage

- name: Add msbuild to PATH
  uses: microsoft/[email protected]

- name: Build app for release
  run: msbuild src\YourProjectFile.csproj -t:rebuild -verbosity:diag -property:Configuration=Release

Optional Parameters

There are a few additional parameters that can be set if you need them. These are optional and should only be set if you know that you need them or what you are doing.

Specifying specific versions of Visual Studio (optional)

You may have a situation where your Actions runner has multiple versions of Visual Studio and you need to find a specific version of the tool. Simply add the vs-version input to specify the range of versions to find. If looking for a specific version, specify the minimum and maximum versions as shown in the example below, which will look for just 16.4.

- name: Add msbuild to PATH
  uses: microsoft/[email protected]
  with:
    vs-version: '[16.4,16.5)'

The syntax is the same used for Visual Studio extensions, where square brackets like "[" mean inclusive, and parenthesis like "(" mean exclusive. A comma is always required, but eliding the minimum version looks for all older versions and eliding the maximum version looks for all newer versions. See the vswhere wiki for more details.

Use pre-release versions of Visual Studio (optional)

If you need your Actions runner to target a pre-release version of Visual Studio, simply add the vs-prerelease input. This is necessary if you want to run an action on a virtual environment that contains a pre-release version of Visual Studio or self-hosted images that you may have that also have pre-release versions of Visual Studio installed.

- name: Add msbuild to PATH
  uses: microsoft/[email protected]
  with:
    vs-prerelease: true

Specifying MSBuild architecture (optional)

By default the action will use the x86 architecture for MSBuild, but it is possible to target the x64 versions instead. Simply add the msbuild-architecture input. Valid input values are x86 (default) and x64.

- name: Add msbuild to PATH
  uses: microsoft/[email protected]
  with:
    msbuild-architecture: x64

How does this work?

This makes use of the vswhere tool which is a tool delivered by Microsoft to help in identifying Visual Studio installs and various components. This tool is installed on the hosted Windows runners for GitHub Actions. If you are using a self-hosted runner, you either need to make sure vswhere.exe is in your agent's PATH or specify a full path to the location using:

- name: Add msbuild to PATH
  uses: microsoft/[email protected]
  with:
    vswhere-path: 'C:\path\to\your\tools\'

Notes on arguments

While the Action enables you to specify a vswhere path as well as a vs-version, these are more advanced options and when using GitHub-hosted runners you should not need these and is recommended you don't specify them as they are optional. Using these require you to fully understand the runner environment, updates to the tools on the runner, and can cause failures if you are out of sync. For GitHub-hosted runners, omitting these arguments is the preferred usage.

Building this repo

As with most GitHub Actions, this requires NodeJS development tools. After installing NodeJS, you can build this by executing:

npm install
npm run build
npm run pack

which will modify/create the /dist folder with the final index.js output

Credits

Thank you to Warren Buckley for being a core contributor to this Action for the benefit of all developers!

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].