【问题标题】:Can App.Config be embedded in .NET application?.NET - App.Config 可以嵌入吗?
【发布时间】:2015-10-24 01:23:32
【问题描述】:

据此:https://msdn.microsoft.com/en-us/library/jj152935%28v=vs.110%29.aspx

为了使 .NET Framework 4/4.5 与 .NET 2.0 应用程序一起使用, 必须提供 app.config。

我想最大限度地提高我的 .NET 2.0 应用程序的兼容性。

我需要它与仅安装了 .NET 2.0 或 .NET 4 的 PC 配合使用。

问题在于,始终与可执行文件一起存在 app.config 并不像我希望的那样专业。

我的应用是一个独立的应用,所以有一个 app.config 让它工作并不能真正使它成为一个独立的应用。

这是 app.config 中的设置,你看这不是我的设置,它是运行时版本设置。

<configuration>
  <startup>
    <supportedRuntime version="<version>"/>
  </startup>
</configuration>

在 .NET 2.0 框架中,应用无需 app.config 即可运行,但如果在 .NET 4.0 框架中,则需要 app.config。

有什么解决办法吗?

感谢您的阅读。

编辑:

我的问题不同于: How do I compile my App.config into my exe in a VS2010 C# console app?

因为这处理 .NET 运行时版本设置,而不是应用程序的设置本身。

【问题讨论】:

  • 到底是什么让你觉得它不专业??
  • 它是一个独立的应用程序,带有一个 app.config 以使其工作确实与作为一个独立应用程序的含义相冲突。
  • 拥有app.config 可以更改某些设置,例如数据库连接。这是非常专业!将其嵌入到 EXE 中会打败首先拥有配置文件的全部目的!您可以直接在代码中轻松硬编码所有设置....但这会非常不专业!
  • 我认为您误解了什么是独立应用程序。这并不意味着您不需要其他组件来配合它。最后,您还需要在该机器上安装 .Net Framework。
  • 我明白了,感谢您的回复,但我希望它是一个可以执行在 .NET 框架之间具有更高兼容性的任务的单个文件。

标签: c# .net vb.net


【解决方案1】:

单个.exe不会很专业,可以看看ClickOnce这样的替代方案

它的一些关键特性是它使更新过程更加简单和高效,例如 GitHub windows 客户端是使用 ClickOnce 交付的。

还有很多其他替代方案可以交付您的应用程序,例如 Wix

但是,也可以在 dll 中嵌入资源,例如查看 here。但正如marc_s 所说,嵌入app.config 没有多大意义。

希望这会有所帮助。

【讨论】:

  • 我遇到了完全相同的问题。这不能回答问题。对不起。这不是专业的问题。当您在 .NET 4 系统上运行时,事情就不起作用了。这些不是需要更改的设置。分发 .config 和 Wixing/ClickOncing 只是为了一个配置是过度的
猜你喜欢
  • 2010-11-12
  • 1970-01-01
  • 2010-09-20
  • 2011-06-16
  • 2010-10-01
  • 2011-02-09
  • 2011-02-25
  • 2011-02-11
  • 2017-02-24
相关资源
最近更新 更多