将设置添加到app.config还是将设置添加到* .exe.config就足够了?

时间:2018-11-19 19:11:19

标签: c# windows touch app-config

最近的文章: https://blogs.msdn.microsoft.com/dotnet/2017/04/05/announcing-the-net-framework-4-7/ 宣布可能针对触摸屏支持间歇性问题的修复程序。在阅读本文时,只需更改app.config文件即可。看到一行:

“您可以通过以下app.config条目选择加入新的触摸实现。

    <runtime>
            <AppContextSwitchOverrides value="Switch.System.Windows.Input.Stylus.EnablePointerSupport=true"/>

</runtime>

在以下部分:

Windows 10的WPF Touch / Stylus支持

我的问题是:我可以只在Myapp.exe.config中进行更改,还是必须实际上在app.config中进行更改?也许问题可能是:app.config信息是在编译时使用还是仅转换为myapp.exe.config?

此外,我想知道是否可以离开:

<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
  </startup>

文档仅提及添加EnablePointerSupport,而没有提及在配置文件中更改版本。实际上,我确实下载了.NET Framework 4.7并进行了安装,但尚未在配置文件中更改版本。我需要吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

  

我可以只在Myapp.exe.config中进行更改,还是必须实际上在app.config中进行更改?

如果部署了EXE,则可以更改App.Exe.Config,重新启动应用程序,然后将使用新的配置设置。如果对ASP.Net应用程序执行此操作(即更改web.config),则会导致IIS中的应用程序池被回收并使用新的web.config设置。

显然要对实际的App.Config添加任何更改,因此下次您将其自动编译时,将其添加到输出App.Exe.Config。

您将对此有更多疑问,并将其全部记录在此处,请仔细阅读以下内容:

https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-configure-an-app-to-support-net-framework-4-or-4-5


  

文档仅提及添加EnablePointerSupport,而没有提及在配置文件中更改版本。实际上,我确实下载了.NET Framework 4.7并进行了安装,但尚未在配置文件中更改版本。我需要吗?

除非您使用的是.Net 4.7的特定功能,否则可以将版本保留为.Net 4.5。

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>

在这种情况下,本文专门说明了.NET 4.7中的错误修复。因此,您将需要使用4.7。

要更改此设置,请编辑“项目”的“构建”选项卡属性(或在配置文件中手动进行编辑)。

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/>

这里是对.Net Frameworks与SKU的引用: https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/startup/supportedruntime-element


  

如果在编译时将app.config用于生成Myapp.exe.config文件以外的任何事情。

  • 您是对的,它在编译时用于生成App.Exe.Config。

  • 许多人将配置设置存储在配置文件中,因此App.Exe.Config也可以在运行时进行编辑。 最终,它只是一个XML文件。

  • 还请注意,您可以在设计时针对不同环境在App.Configs上使用Transforms:

enter image description here