 <p>I've found the cause of the problem. It's actually very simple but also pretty frustrating.</p> <p>When publishing the web app, you have the option to <code>Remove additional files at destination</code>. I have always left this checked because I don't like old files hanging around for no reason. </p> <p>You also have the option to <code>Exclude files from the App_Data folder</code> which I also always leave checked so that files from <code>App_Data</code> are not deleted based on the remove configuration above. I then usually configure things like NLog log files, ELMAH xml files etc to go into <code>App_Data</code> safe in the knowledge that anything in there won't be deleted.</p> <p>So the issue with Webjobs is that they're deployed into <code>App_Data</code>. So if the <code>Exclude files from App_Data folder</code> is checked then when the app is published, it's doing what it's told and ignoring <code>App_Data</code> and hence ignoring the changes to the Webjob. </p> <p>So the simple solution is to uncheck this option and the Webjob is deployed successfully. However the issue now is that all other files in <code>App_Data</code> will be deleted (log files etc). </p> <p>So you could uncheck the remove files config but that then potentially leaves other unwanted files lying around. Not ideal. </p> <p>The other option is to leave the remove config checked, click the Preview button within the Publish dialog prior to publishing, then manually unchecking every file you don't want deleted. However the publish process fails if any of the files you want to keep are within sub-folders within <code>App_Data</code> e.g. <code>App_Data/logs</code>.</p> <p>So the other option is to move all of the files within <code>App_Data</code> that you want to keep into the root of <code>App_Data</code>, then uncheck each of them within the Preview window prior to publishing. Not a huge deal when done once but becomes tedious when publishing lots of times.</p> <p>I realise I could move log files etc to Azure storage, SQL DBs etc but what if it's the case that other files are in <code>App_Data</code> which need to be kept? <code>App_Data</code> isn't solely intended for Webjobs but using Webjobs creates a bit of an awkward situation if you also use <code>App_Data</code> for other things. </p> <p>Be keen to know if I'm missing anything obvious here?</p>