Skip to content

Codepolice

  • ⤫

Build, Git Commit, FTP When You Publish In Visual Studio

Posted by Judy Alvarez Posted on February 28, 2022March 3, 2022
0

For various reasons, I have a really weird build setup in Visual Studio. I just want to write this post so I can remember how it works now if I ever re-install my computer and something doesn’t work.

I use the regular publish feature in Visual Studio and deploy the code to a Website on my local IIS. This has always worked great and I don’t want to mess with firewalls and stuff to make it deploy to any remote site on my server. That just seems complicated.

My first modification to my .csproj file (that is more or less a regular MS Build file) is a command to open a text file where I write the message that I want to use for a git commit later on. The reason why I’m doing this is that I always forget to commit to Git and I couldn’t figure out any other way to force myself to enter something when I publish my app.

  <Target Name="BeforeBuild">
  <Exec Command="$(MSBuildProjectDirectory)/../commit-message.txt" />
  </Target>

When I close notepad or the default text editor you use the build continues and when the build is complete I execute this command that runs a WinSCP script to sync my local folder with the remote folder on my server. You also see my second command to commit to Git there but ignore that for now.

  <Target Name="CustomPostPublishActions" AfterTargets="MSDeployPublish">
    <Exec Command="$(PathToWinSCP) /script=$(MSBuildProjectDirectory)/../winscp-upload.txt" />
    <Exec Command="&quot;C:WindowsSystem32WindowsPowerShellv1.0powershell.exe&quot; -command &quot;&amp; {$(MSBuildProjectDirectory)/../git.ps1 '$(TargetPath)'}&quot;" />
  </Target>

The WinSCP script looks like this.

open serverbeach
synchronize remote C:DeployAlternativeTo /alternativeto/
exit

This works incredibly well.

At last, I execute a PowerShell command to commit to GitHub using that message I wrote earlier. I use Posh-Git for PowerShell. My PowerShell script looks like this.

$message = Get-Content ../commit-message.txt
git commit -a -m "$message"

Well, that’s it. I understand I don’t explain this in much detail but as I said before I think this scenario is very unique to me and my situation. But feel free to ask any questions if you have similar needs.

Categories: JavascriptTagged: .net core mvc vs web api, .net core vs mvc 5, .net framework mvc, .net mvc interview questions for 2 years experience, asp .net core vs mvc, asp dot net mvc tutorial, asp net core mvc multiple models in one view, asp net mvc 4 tutorial step by step, asp net mvc 5 angularjs template, asp net mvc cloud hosting, asp net mvc https, asp net mvc layout templates free download, asp net mvc overview, asp net mvc pipeline, asp net mvc razor, asp net mvc routing examples, asp net mvc vs webforms, asp net with mvc training, developing asp net mvc 4 web applications, difference between .net mvc and .net core, download asp net mvc 5, how to implement lazy loading in asp net mvc, learn asp net mvc step by step, learn net mvc, mvc architecture net, mvc in .net, mvc model in asp net, net mvc development, professional asp net mvc 5 pdf, web push notifications asp net mvc

Post navigation

Previous Previous post: Request.Files is Empty in a Web Forms Application
Next Next post: Query the MySQL / WordPress Database from an ASP.NET site

Related Posts

  • Babel 8 RC Arrives, Gatsby Lives, Lodash Resets

    #​771 — February 3, 2026 Read on the Web JavaScript Weekly Four Heavyweights Drop Updates Four stalwarts of the JavaScript ecosystem all shipped notable releases this week, and odds are you’re using at least one of them: Gatsby v5.16 proves Gatsby, once considered neck-and-neck with Next.js in the React world, is not ‘dead’. The headline

    Posted by Posted on February 3, 2026
    0
  • A smoother way to ship Node apps

    #​609 — January 29, 2026 Read on the Web 🌊 Improving Single Executable Application Building in Node — First introduced two years ago, Node has a (still experimental) feature to build single executable applications that can be deployed to machines that don’t have Node installed. This week’s Node.js 25.5 release, with its –build-sea flag, moves the

    Posted by Posted on January 29, 2026
    0
  • What’s next for JavaScript frameworks in 2026

    #​770 — January 27, 2026 Read on the Web JavaScript Weekly Introducing LibPDF: PDF Parsing and Generation from TypeScript — LibPDF bills itself as ‘the PDF library TypeScript deserves’ and supports parsing, modifying, signing and generating PDFs with a modern API in Node, Bun, and the browser. GitHub repo. Documenso JavaScript Frameworks – Heading into 2026

    Posted by Posted on January 27, 2026
    0
  • require(esm) now stable in Node 25

    #​608 — January 22, 2026 Read on the Web Node.js 25.4.0 (Current) Released — Another gradual step forward for Node with require(esm) now marked as stable, as well as the module compile cache, along with a variety of other minor tweaks. Joyee Cheung of the Node team has written a thread on Bluesky going deeper

    Posted by Posted on January 22, 2026
    0
  • A big week for jQuery

    #​769 — January 20, 2026 Read on the Web JavaScript Weekly jQuery 4.0 Released — 20 years on from its original release, the ever-popular (in terms of actual usage) library reaches 4.0 with a migration to ES modules (compatible with modern build tools) along with dropping support for IE 10 and older. With jQuery being

    Posted by Posted on January 20, 2026
    0
  • A new guide to configuring Node packages

    #​607 — January 15, 2026 Read on the Web ⚠️ The Node.js January 13, 2026 Security Releases — Originally expected in December, these releases (of Node.js 25.3.0, 24.13.0, 22.22.0, and 20.20.0) finally landed this week, largely due to their complexity and the scope of the vulnerabilities they tackle. More on that in the next item! The Node.js

    Posted by Posted on January 15, 2026
    0
Judy Alvarez

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Codepolice

  • Github
  • Atlassian
  • Flatlogic
  • Xero
  • Jetbrains
  • Figma
  • Babel 8 RC Arrives, Gatsby Lives, Lodash Resets
  • A smoother way to ship Node apps
  • What’s next for JavaScript frameworks in 2026
  • require(esm) now stable in Node 25
  • A big week for jQuery
https://flatlogic.com/generator
COPYRIGHT © 2026 - Codepolice