我正在使用VS2015,C#。
我通过项目属性 - 设置创建了几个设置。其中一些保存在这里:
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="Calendar.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<Calendar.Properties.Settings>
<setting name="RedirectUriDEBUG" serializeAs="String">
<value>https://localhost:44367/Login/RedirectGoogle</value>
</setting>
<setting name="RedirectUriPRODUKCIJA" serializeAs="String">
<value>https://ztest30.franjobrekalo.com/Login/RedirectGoogle</value>
</setting>
<setting name="LogPathDEBUG" serializeAs="String">
<value>C:\Users\Frenky\Desktop\AdministrationLog.txt</value>
</setting>
<setting name="LogPathPRODUKCIJA" serializeAs="String">
<value>h:\root\home\frenkyb-001\www\administration\AdministrationLog.txt</value>
</setting>
<setting name="LogPathTEST" serializeAs="String">
<value>h:\root\home\frenkyb-001\www\testnotes\AdministrationLog.txt</value>
</setting>
</Calendar.Properties.Settings>
</applicationSettings>
ApplicationSettings部分由visual studio生成。现在我需要从applicationSettings中读取。我尝试了很多解决方案,令我惊讶的是,没有任何效果。似乎从appSettings读取很容易,或者来自connectionStrings。为什么生成的applicationSettings部分存在问题?
修改
问题在于applicationSettings不适用于appSettings。
答案 0 :(得分:2)
您可以使用ConfigurationManager
课程。
尝试:ConfigurationManager.AppSettings
。有关详细信息,请查看msdn。
编辑:查看此link一次。看来你不能在ApplicationSettings中使用内置的API。它仅适用于appSettings和connectionStrings。对于您的情况,您需要实现自定义类,如上面的链接中所述。
答案 1 :(得分:0)
在所有项目代码中查找键“ RedirectUriDEBUG” ... Visual Studio会找到一个参考...
应该像这样
global :: [YOUR_PACKAGE_NAMESPACE]。属性。设置。默认值。[YOUR_KEY] 希望对您有帮助
答案 2 :(得分:0)
对我来说,答案在这篇文章中:https://www.c-sharpcorner.com/article/four-ways-to-read-configuration-setting-in-c-sharp/
它展示了如何使用 ConfigurationManager.GetSection
方法从 NameValueCollection
获取 applicationSettings
自定义部分的示例可能是:
NameValueCollection PostSetting = ConfigurationManager.GetSection("BlogGroup/PostSetting") as NameValueCollection;
使用默认的 ApplicationSettings
部分:
NameValueCollection applicationSettings = ConfigurationManager.GetSection("ApplicationSettings") as NameValueCollection;