App.config转换无法基于环境工作

时间:2019-01-25 16:17:00

标签: c# .net configuration app-config

我有一个控制台应用程序,我需要为diff分离app.config。 env以使用不同的连接字符串。

我右键单击App.config->添加配置转换,并得到两个文件:

App.Debug.config

App.Release.config

这些文件如下:

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document- 
Transform">
<connectionStrings>
<add name="SqlCpaConnectionString" 
     connectionString="blahblah" 
     providerName="System.Data.SqlClient"/>
<add name="AzureStorageConnectionString"
     connectionString="blahblah"
     providerName="Microsoft.WindowsAzure.Storage"/>

获得类似设置时:

ConfigurationManager.ConnectionStrings["AzureStorageConnectionString"].ConnectionString

我在两个环境中都得到null ref ex ...

1 个答案:

答案 0 :(得分:0)

请参阅以下答案。这也适用于控制台应用程序:How do I use Web.Config transform on my connection strings?

设置连接字符串转换:

<connectionStrings>
    <add name="local" connectionString="Data Source=IPAddress,Port;Initial Catalog=SomeOtherDB;User ID=TopSecretUsername;Password=SecurePassword" 
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>