C# 项目工程操作注意事项

C# 项目工程操作注意事项

说明

此博客只是用于记载应用VS过程中需注意的一些点,方便后续查阅!

且会持续补充~

1、读取项目中自带配置文件中的属性

写代码时,有时需保存一些配置文件,便于实现特定需求。而一般的项目中会有自带的配置文件,以C#的 控制台应用 为例。

首先在 App.cpnfig 中添加目标属性,如下

csharp 复制代码
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
    </startup>
	<appSettings>
		<add key="enableDC" value="true" />
	</appSettings>
</configuration>

此时可在项目中读取该属性,如

csharp 复制代码
bool res = JsonConvert.DeserializeObject<bool>(ConfigurationManager.AppSettings["enableDC"]);

但一般情况下,若只使用上述一行代码实现对值的获取,其只会获取 配置文件 在软件 启动 时反序列化后的数据。

即后续若在软件运行过程中手动修改了对应属性的值,再只依赖上述代码进行获取,其获取的依然是最初的数据,而非修改后的数据。

为了保证在代码中使用目标属性值的实时性,还需添加一个刷新数据的代码。整个代码如下

csharp 复制代码
ConfigurationManager.RefreshSection("appSettings");
var res = JsonConvert.DeserializeObject<bool>(ConfigurationManager.AppSettings["enableDC"]);
相关推荐
rockey6272 小时前
AScript之eval函数详解
c#·.net·script·eval·expression·动态脚本
He少年6 小时前
【AI 辅助案例分享】
人工智能·c#·编辑器·ai编程
工程师0077 小时前
栈和堆的概念
c#·栈和堆
不会编程的懒洋洋8 小时前
C# P/Invoke 基础
开发语言·c++·笔记·安全·机器学习·c#·p/invoke
Avalon7128 小时前
Unity3D响应式渲染UI框架UniVue
游戏·ui·unity·c#·游戏引擎
njsgcs8 小时前
solidworks折弯自动标注5 非90度折弯
c#·solidworks
狼与自由9 小时前
clickhouse引擎
clickhouse·c#·linq
wangnaisheng9 小时前
【C#】死锁详解:发生原因、优化解决方案
c#
tiger从容淡定是人生10 小时前
AI替代软件战略(一):从 CCleaner 到 MCP 架构重构 —— TigerCleaner 的工程实践
人工智能·重构·架构·c#·mcp
宝桥南山1 天前
GitHub Models - 尝试一下使用GitHub Models
microsoft·ai·微软·c#·github·.netcore