c# - 将设置添加到 app.config 或将设置添加到 *.exe.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 触控/触控笔支持
我的问题是:我可以只在 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 并安装,但没有更改配置文件中的版本。我需要吗?
谢谢。
解决方案
我可以只在 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 上进行转换:
推荐阅读
- json - JSON数组解析Kafka
- python-3.x - 如何通过 USB 端口在 python 中发送字符串而不是字节数组?
- spring - 使用“spring.resources.static-locations”时,Swagger UI 不起作用
- python-3.x - python中的make_dashboard函数
- pandas - 如何使用 Shapely 和 Dask 将坐标列转换为点列?
- visual-studio - Microsoft Visual Studio 正在更改我的参数
- web - 未找到 Web 程序集 charconv 文件
- c# - 牛顿 json 默认字符串值不起作用?
- python - 将 numpy ndarray 作为 fsolve 函数的输入传递
- react-native - react-native redux 中的状态未定义