title: How to upgrade a Visual Studio project from within a GitHub action?
body: <p>A Visual Studio project can be upgraded from the command line using the <code>devenv.exe</code> command as follows:</p>
  <pre><code>  devenv.exe SOLUTION_PATH /Upgrade
  </code></pre>
  <p>Where SOLUTION_PATH is a path to a Visual Studio solution (or project) file.</p>
  <p>What is the most direct way to perform this step as part of a GitHub action?</p>
  <p><strong>What I Have Tried</strong></p>
  <p>So far I have failed to find a way to get <code>devenv.exe</code> into the path of the GitHub Action. There does not appear to be a prebuilt action step for this (<code>setup-msbuild</code> step does not make <code>devenv</code> available). Even hardcoding a path such as</p>
  <pre><code> MSDEVENV_PATH: ${{'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\devenv.com'}}
  
  ... then later ...
  
  run: ${{env.MSDEVENV_PATH}} ${{env.SOLUTION_FILE_PATH}} /Upgrade
  </code></pre>
  <p>fails because the path contains spaces, and I can find no way to add quotation marks.</p>
  <p>I am aware of <a href="https://stackoverflow.com/questions/42713238/reliable-way-to-find-the-location-devenv-exe-of-visual-studio-2017">a way to find devenv using powershell and extra downloadable packages</a> however this will require writing a PowerShell script, and presumably signing it, and I have no idea whether this will even work in a GitHub Action. Perhaps there is a much simpler approach, hence my question: what is the most <em>direct</em> way to upgrade a solution?</p>