You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将C#项目打包为嵌入app.config的单文件可执行程序?

将app.config嵌入到单个C#可执行文件的实现方法

1. 将app.config设置为嵌入资源

  • 在Visual Studio中选中项目里的app.config文件,右键打开属性面板
  • 将生成操作修改为嵌入的资源

2. 修改代码读取嵌入的配置内容

原代码依赖外部配置文件,需改为读取程序集内的嵌入资源,示例代码如下:

using System.Reflection;
using System.Xml;

// 获取当前运行的程序集
var currentAssembly = Assembly.GetExecutingAssembly();
// 资源名称格式为「项目命名空间.app.config」,请替换为你的实际命名空间
string embeddedConfigName = "YourProjectNamespace.app.config";

// 读取嵌入的配置文件流
using (Stream configStream = currentAssembly.GetManifestResourceStream(embeddedConfigName))
{
    if (configStream == null)
        throw new InvalidOperationException($"未找到嵌入的配置文件:{embeddedConfigName}");

    XmlDocument configDoc = new XmlDocument();
    configDoc.Load(configStream);

    // 读取appSettings中的配置项A
    XmlNode appSettings = configDoc.SelectSingleNode("/configuration/appSettings");
    XmlNode configItem = appSettings?.SelectSingleNode("add[@key='A']");
    string aValue = configItem?.Attributes["value"]?.Value;

    // 后续可使用读取到的aValue
}

3. 编译生成单个可执行文件

  • .NET Core/.NET 5+项目:
    右键项目 → 选择发布 → 发布目标选文件夹 → 在发布设置中勾选生成单个文件,完成发布即可得到单个exe文件
  • .NET Framework项目:
    可使用ILMerge工具合并输出文件,或使用第三方打包工具;结合上述嵌入资源的方式,确保编译时仅输出exe即可实现单文件分发

内容的提问来源于stack exchange,提问作者dinikai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 14:20:01