Search code examples
c#msbuildweb-configapp-configmsbuild-task

Custom MSBuild Task not reading from App.config [C#]


I wrote a custom build task that reads values form the appsettings in it's App.config file. When I compile my task as an executable and run it, the task works perfectly. The correct values are read from the config file. However when I compile it as an assembly and run it from a target in my build script I get a System.NullReferenceException. The exception occurs in the foreach loop because the configuration manager returns null.

IEnumerable<string> tables = ConfigurationManager.AppSettings.GetValues(key);
 foreach (string txt in tables)
{
      Logic.....
}

I'm calling the custom task correctly because I commented out the issue and it builds successfully.

Does anyone know why this might be happening? or if I'm even able to use a App.config file with custom build tasks?

Thanks in advance


Solution

  • If you compile a project as a library, then it reads from the app.config of the calling executable. If you compile a project as an executable, then it reads from it's own app.config.