Because the target file is set not to be checked in, it does not exist in source control. This is only an issue when you checkout the repo to a new computer or location on the existing computer. The process then cannot build correctly because this file
Any chance you can add a check, and to create a new (empty) target file? I was able to do it by updating the VersionFile Execute method:
public override bool Execute()
// Read content of the template file
string content = File.ReadAllText(TemplateFile);
// Replace tokens in the template file content with version info
content = tokenReplacer.Replace(content);
// Write the destination file, only if it needs to be updated
if (!File.Exists(DestinationFile) || File.ReadAllText(DestinationFile) != content)
catch (BuildErrorException e)
But it's keeping to file locked so it's not able to update it correctly in the build process.
Maybe I'm missing something and the application already does this, but as far as I can tell this function is missing. Or perhaps this is by design.