我寫了一個自定義的MSBuild任務來從MSSQL存儲過程生成模型代碼。我想爲我的任務使用相同的配置來連接到數據庫,就像應用程序一樣。我創建了一個配置部分,看起來像這樣如何從自定義MSBuild任務訪問BeforeBuild事件上的app.config?
<?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");
我的自定義任務還看不出來,不過,GetConfig
回報null
。
我應該在這裏做什麼?我寧願不必重寫我的自定義配置節處理程序,並且更感興趣的是,例如,在MSBuild屬性中指定app.config文件,但我會盡其所能。
這就是我最終做的。回來看到了這個答案。 – 2009-12-10 19:59:03