最近的文章: 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并进行了安装,但尚未在配置文件中更改版本。我需要吗?
谢谢。
答案 0 :(得分:3)
我可以只在Myapp.exe.config中进行更改,还是必须实际上在app.config中进行更改?
如果部署了EXE,则可以更改App.Exe.Config,重新启动应用程序,然后将使用新的配置设置。如果对ASP.Net应用程序执行此操作(即更改web.config),则会导致IIS中的应用程序池被回收并使用新的web.config设置。
显然要对实际的App.Config添加任何更改,因此下次您将其自动编译时,将其添加到输出App.Exe.Config。
您将对此有更多疑问,并将其全部记录在此处,请仔细阅读以下内容:
文档仅提及添加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: