首页 >后端开发 >C++ >为什么我的 .NET Core 应用程序无法识别 app.config,如何修复它?

为什么我的 .NET Core 应用程序无法识别 app.config,如何修复它?

Barbara Streisand
Barbara Streisand原创
2025-01-05 17:37:18420浏览

Why Doesn't My .NET Core App Recognize app.config, and How Can I Fix It?

解决 .Net Core 中的 app.config 配置错误

尝试在 .Net Core 应用程序中使用 app.config 时,您可能会遇到诸如“Error正在初始化配置系统”和“无法加载类型“System.Configuration.InternalConfigurationHost”。”这些错误源于“CoreCompat.System.Configuration”程序集中缺少“get_bundled_machine_config”方法的实现。

尽管通过 NuGet 安装了“CoreCompat.System.Configuration”包,问题仍然存在。以下步骤提供了此问题的解决方案:

  • 创建 .NET Standard 2.0 库(例如 MyLib.dll)并添加“System.Configuration.ConfigurationManager”NuGet 包(版本 4.4.0) ).
  • 在 MyLib.dll 中实现自定义配置节,包括从 'ConfigurationSection' 派生的类和'ConfigurationElement。'
  • 创建一个 .NET Core 2.0 应用程序(例如 MyApp.dll)和一个 app.config 文件,其中包含与 MyLib.dll 中的类设计相对应的自定义配置部分。
  • 确保app.config文件的位置是“projectName.dll.config”而不是.NET中传统的“.exe.config”框架。
  • 对于测试项目,请将以下代码段添加到 .csproj 文件中,以将 App.config 复制到输出文件夹:
  <!-- START: This is a buildtime work around for https://github.com/dotnet/corefx/issues/22101 -- -->
  <Target Name="CopyCustomContent" AfterTargets="AfterBuild">
    <Copy SourceFiles="App.config" DestinationFiles="$(OutDir)\testhost.dll.config" />
  </Target>
  <!-- END: This is a buildtime work around for https://github.com/dotnet/corefx/issues/22101 -- -->

以上是为什么我的 .NET Core 应用程序无法识别 app.config,如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn