Continuous Integraton using Jenkins Pipeline for a .NET project
Specifically in answer to your 3rd question, if you are willing to look outside of the Jenkins Ecosystem there are alternatives out there that might be of value to you. 

For my clients who use the Microsoft Stack and have fewer than four teams, I have been recommending the use of AppVeyor it is highly tuned for the .NET Stack and integrated very naturally with msbuild and Wix.



There are two ways of configuring AppVeyor, either through the web-based user interface or via the appveyor.yml file checked into the root of the git repository.  I would strongly recommend the latter, you are welcome to start from this template:

version: 3.0.{build}

build:
  parallel: true
  project: EVEMon.sln

cache:
  - packages -&gt; **\packages.config

install:
  - nuget restore


The major drawback of AppVeyor and it's cousins TravisCI and CircleCI is they don't play particularly nicely with on-premise source code management solutions, you do really need to be using GitHub or BitBucket.