我无法从方法中访问my_def
。代码最初是一个klass库,我添加了一个配置文件(CloudfigurationManager
),我只是添加了Azure SDK的硬编码测试的值。
OpenSessionWithAzure()
App.config
的App.config
private void OpenSessionWithAzure()
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSetting["APP_SETTINGS"])// Visual Studio is unable to identify ConfigurationManager
}
我是否有理由无法访问应用程序中的<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="StorageConnectionString" connectionString="DefaultEndpointsProtocol=https;AccountName=userName;AccountKey=Key"/>
<add name="SasPolicyName" connectionString="myPolicy"/>
</connectionStrings>
</configuration>
或已知的解决方法?
答案 0 :(得分:2)
出现此错误的原因是因为我没有:
System.Configuration.dll
。using System.Configuration
添加执行上述步骤后,我无法访问ConfigurationManager.AppSettings["APP_SETTINGS"]
答案 1 :(得分:1)
您需要添加对System.Configuration
的引用,然后在appSettings
部分中添加键值对
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="SasPolicyName" value="myPolicy" />
<add key="APP_SETTINGS" value="MySetting" />
</appSettings>
<connectionStrings>
<add name="StorageConnectionString" connectionString="DefaultEndpointsProtocol=https;AccountName=userName;AccountKey=Key"/>
</connectionStrings>
</configuration>
然后使用如下,
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSetting["APP_SETTINGS"])
答案 2 :(得分:1)
您使用的方法签名必须与App.config
中的设置一致。
使用以下设置
<configuration>
<appSettings>
<add key="StorageConnectionString" value="XXXXXXXXX"/>
</appSettings>
</configuration>
使用System.Configuration.ConfigurationManager.AppSettings["StorageConnectionString"]
。
System.Configuration.ConfigurationManager.ConnectionStrings["StorageConnectionString"]
代表
<configuration>
<connectionStrings>
<add name ="StorageConnectionString" connectionString="XXXXXXXXXX"/>
</connectionStrings>
</configuration>
答案 3 :(得分:0)
当您尝试从appSettings
读取时,它会从正在执行的应用程序的.config文件中读取。因此,在最简单的实现中,您只需要将这些配置设置添加到该应用程序的.config文件(app.config或web.config。)如果您绝对需要库拥有自己的.config,还有其他方法可以处理它。文件,但将其添加到正在执行的应用程序的.config是最常见的。