如何从自定义MSBuild任务访问BeforeBuild事件上的app.config?
我编写了一个自定义MSBuild任务,以从MSSQL存储过程生成模型代码。我希望对我的任务使用与应用程序相同的配置来连接到数据库。我创建了一个如下所示的配置部分如何从自定义MSBuild任务访问BeforeBuild事件上的app.config?,msbuild,app-config,msbuild-task,Msbuild,App Config,Msbuild Task,我编写了一个自定义MSBuild任务,以从MSSQL存储过程生成模型代码。我希望对我的任务使用与应用程序相同的配置来连接到数据库。我创建了一个如下所示的配置部分 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="CoreDataConnections" type="CoreData.ConfigHandler, Cor
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="CoreDataConnections" type="CoreData.ConfigHandler, CoreData"></section>
</configSections>
<CoreDataConnections>
<Connection Name="BillingDB" ConnectionString="Data Source=SERVER0;Initial Catalog=DB0;persist security info=False;user id=user;password=password;packet size=4096"/>
<Connection Name="ValidationDB" ConnectionString="data source=SERVER1;initial catalog=DB1;persist security info=False;user id=user;password=password;packet size=4096"/>
</CoreDataConnections>
</configuration>
并通过我的应用程序全天访问它,如下所示:
Dictionary<string,string> Connections = (Dictionary<string,string>)ConfigurationSettings.GetConfig("CoreDataConnections");
Dictionary Connections=(Dictionary)ConfigurationSettings.GetConfig(“CoreDataConnections”);
但是,我的自定义任务无法看到它,并且GetConfig
返回null
我在这里该怎么办?我不想重写我的自定义配置节处理程序,我更感兴趣的是(比如)在MSBuild属性中指定app.config文件,但我会尽我所能。您尝试过该方法吗?您可能应该将该路径从调用它的MSBuild脚本传递到任务中
由于当时运行的应用程序是msbuild.exe,因此当您尝试像通常在应用程序中那样访问配置元素时,加载的配置是msbuild.exe.config,因此将无法在app.config文件中获取值
更感兴趣的是,比如在MSBuild属性中指定app.config文件
我就是这么做的。工作得很好。我最后就是这么做的。他回来看到了这个答案。