我正在尝试在appsettings.Config文件中设置我的键值,但似乎无法正常工作.
这就是我为此写的.代码从MDI文件的构造函数调用,并且仅返回null值.谁知道为什么?
var getValue = ConfigurationSettings.AppSettings["ShowQueryTextbox"];
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用ConfigurationManager.AppSettings.那也没有用.
我的AppSettings代码如下.
<configuration>
<appSettings>
<add key="ShowQueryTextbox" value="true"/>
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud) 是否有关于何时使用应用程序设置(不是每个用户设置)与.config文件<appsettings>的建议?
更新
希望了解一些更精细和重要的差异,因为它们都是有效的键/值存储.例如,我知道在web.config中修改appsettings将回收Web应用程序.
设置已经在.NET中存在了一段时间,我没有费心去看它们 - 也许一个有点多余,或者同时使用两者都没有意义......这就是我的细节期待了解和原因.
我有一个带App.Config
文件的exe .现在我想在exe周围创建一个包装器dll,以便消耗一些功能.
问题是如何从包装器DLL访问exe中的app.config属性?
也许我应该在我的问题中多一点,我有以下app.config内容与exe:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="myKey" value="myValue"/>
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
问题是如何从包装器dll中取出"myValue"?
谢谢你的解决方案.
实际上我最初的概念是避免使用XML文件读取方法或LINQ或其他任何方法.我首选的解决方案是使用配置管理器库等.
我将非常感谢使用通常与访问app.config属性相关联的类的任何帮助.
.net c# system.configuration configuration-files appsettings
我有以下appSettings部分
<appSettings>
<add key="Foo" value="http://foo.bar.com/?app=xxx&FormName=yyy" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
但IDE给了我两个错误:
似乎&正在造成问题.我不想将值分成单独的键.这个问题有优雅的方法吗?
我尝试将我的appsettings.json文件中的DefaultConnection添加到Azure的应用程序设置中,但Azure不会覆盖连接字符串.
我能找到的任何文章或博客都指出我需要做的就是在appsettings.json文件中添加连接字符串名称,Azure应该完成剩下的工作(例如https://tehremo.wordpress.com/2016/ 10/07/override-connection-strings-app-settings-in-asp-net-core-and-azure-app-service /)然而,当应用程序发布时,它使用我的本地连接字符串.
我的Startup.cs文件如下所示:
注意:我使用VSTS持续交付发布"部署Azure应用服务"发布任务.
当我应该使用configurationManager.AppSettings或visual studio生成的强类型设置时,应该指示什么?在大多数情况下,强类型的似乎更合适,但我认为可以使用ConfigurationManager方法动态地将设置添加到已部署的应用程序,但是在是否有任何指导条件下,每种情况都可以使用?
我使用VSCode和NetCore 1.1.1.
我需要在appsetting.json中存储几个数据路径,让我的控制台应用程序知道在哪里查找其数据.
这是appsettings.json文件的摘录:
{
"ConnectionStrings":
{
"Database": "Filename=./Data/Database/securities_master.db"
},
"Data":
{
"Folders": ["E:/Data/Folder1/","E:/Data/Folder2/"]
}
}
Run Code Online (Sandbox Code Playgroud)
我加载配置文件,我希望存储在变量中的"文件夹"数组:
const string APP_SETTINGS_SECTION = "Data";
const string APP_SETTINGS_KEY = "Folders";
var builder = new ConfigurationBuilder().AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
var configuration = builder.Build();
var dataFolders = configuration.GetSection(APP_SETTINGS_SECTION)[APP_SETTINGS_KEY];
Run Code Online (Sandbox Code Playgroud)
dataFolders
是NULL!
如果我将appsetting.json更改为仅指向这样的单个目录,则一切正常:
{
"ConnectionStrings":
{
"Database": "Filename=./Data/Database/securities_master.db"
},
"Data":
{
"Folders": "E:/Data/Folder1/"
}
}
Run Code Online (Sandbox Code Playgroud)
dataFolder
=" E:/ Data/Folder1 / "
所以问题似乎是它不喜欢字符串数组,但对我来说它看起来像一个有效的Json字符串数组.我应该如何修改我的appsettings(或我的C#代码)来解决这个问题?
我似乎无法弄清楚如何从我的_Layout.chtml文件中的appsettings.json读取值.
它不仅仅是可用的,这样的吗?@Configuration [ "ApplicationInsights:InstrumentationKey"]
我使用剃刀页面创建了一个新的MVC项目.
fyi,我是一个mvc newbee - 代码示例帮助很多.
我正在遵循本指南.我Startup
在API项目中使用了一个appsettings.json
配置文件.
public class Startup
{
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
Log.Logger = new LoggerConfiguration()
.Enrich.FromLogContext()
.ReadFrom.Configuration(Configuration)
.CreateLogger();
}
Run Code Online (Sandbox Code Playgroud)
我正在看的特别部分是env.ContentRootPath
.我做了一些挖掘,看起来我appsettings.json
实际上并没有复制到bin
文件夹,但这很好,因为ContentRootPath
返回MySolution\src\MyProject.Api\
,这是appsettings.json
文件所在的位置.
所以在我的集成测试项目中,我有这个测试:
public class TestShould
{
private readonly TestServer _server;
private readonly HttpClient _client;
public TestShould()
{
_server = new TestServer(new WebHostBuilder().UseStartup<Startup>());
_client = _server.CreateClient();
}
[Fact]
public async Task …
Run Code Online (Sandbox Code Playgroud) c# configuration integration-testing appsettings asp.net-core
在我的web.config中的AppSettings中,我有这样的事情:
<appSettings>
<add key="ExternalSystemUrl" value="http://domain.com/page.aspx?id={0}&action=eat&object=bacon" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
但是,似乎当一个&符号(&
)包含在AppSettings值中时,ASP.NET会抛出以下错误:
解析EntityName时发生错误
为什么会发生这种情况,如何在App.config中包含这样的URL?
appsettings ×10
c# ×5
.net ×3
asp.net ×2
asp.net-core ×2
.net-core ×1
azure ×1
razor ×1
web-config ×1