Everyone knows that the BizTalk Deployment Framework is the best thing since sliced bread but BizTalk deployment is a complex thing and I still run into issues. I've decided to record here each time I bump into a new on.
Following a 1st time deployment of an inherited codebase I found the following message in DeployResults.txt:
Settings XML file not found: "C:\Program Files (x86)\FFF.Enterprise.Shared for BizTalk\1.0\Deployment\EnvironmentSettings\Exported_BUILDSettings.xml"
Enter path to settings XML file, leave blank if no settings are required.
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at XmlPreprocess.XmlPreprocessorMain.ReadEnvironmentSettingsFile(PreprocessingContext context) at XmlPreprocess.XmlPreprocessorMain.ReadSettings(PreprocessingContext context) at XmlPreprocess.XmlPreprocessorMain.Main(String args)
This is because, although the settings spreadsheet lets you assign any name to the file that is generated by the settingsfilegenerator.exe, the BTDF target "PreprocessBindings" expects it to be in the format Exported_envSettings.xml.
Here's a screen grab showing where this can be set in EnvironmentSettings.xml using Excel: