从引用 .NET Standard 库的 .NET Core 应用程序中的 app.config 读取

感兴趣的东西

我正在将一些现有代码从 .NET Framework 转换为 .NET Standard,以便在 .NET Core 应用程序中使用。图书馆项目已经转换完毕并且正在建设中。它包含一些使用 EF Core 的数据库访问代码。由于此代码的使用者的传统性质,我想继续将 App.Config 或 Web.Config 文件与 Configuration Manager 一起使用。为此,我将 System.Configuration.ConfigurationManager NuGet 包添加到库项目中。

该库通过使用 MSTest 的单元测试项目进行验证。该项目的目标是 .NET Framework 4.7.1,它可以使用 .NET Standard 2.0 库包。面向 .NET Framework 时,所有单元测试都通过了。

将单元测试项目更改为面向 .NET Core 2.0 后,数据库代码不再能够找到单元测试项目的 App.Config 文件中存储的连接字符串。当我调试测试并检查 ConfigurationManager.ConnectionStrings 集合时,我只看到一个定义为 SQL Express 连接的可能来自 Machine.Config 文件。

有没有人通过 .NET 标准库和 ConfigurationManager 兼容性库成功地从 .NET Core 应用程序访问 App.Config?

穆罕默德·查沃希

还有一个已知的问题,Microsoft.Net.Test.Sdk,这是因为当你使用ConfigurationManager中使用的.Net核心的测试应用,ConfigurationManager中寻找testhost.dll.config,而不是你的标准的组件配置文件。

有基于此问题的不愉快的解决办法在github上讨论,你可以复制你的App.Config中的文件与名称到您的输出目录testhost.dll.config通过把这个元素在测试的csproj文件:

<Target Name="CopyCustomContent" AfterTargets="AfterBuild">
    <Copy SourceFiles="App.config" DestinationFiles="$(OutDir)\testhost.dll.config" />
</Target>

然后你可以使用ConfigurationManager.OpenMappedExeConfiguration来加载你的配置文件。

ExeConfigurationFileMap map = new ExeConfigurationFileMap();
map.ExeConfigFilename = "testhost.dll.config";

Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);

例如,为了阅读 appsetting,你可以这样做:

var setting = Config.AppSettings.Settings[key];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从.NET Core应用程序引用.NET 4.6.2类库

来自分类Dev

在 ASP.Net 应用程序中引用 .NET Standard 库

来自分类Dev

如何在 .Net Core 控制台应用程序中引用 .Net Core 库

来自分类Dev

在.NET 4.5.2中引用.NET Core库

来自分类Dev

用.net core 3.0编写的应用程序可以引用.net core 2.2中开发的类库吗?

来自分类Dev

如何创建.NET Core库我可以从.NET Core应用程序(Web API)引用

来自分类Dev

ASP.NET Core Web应用程序(.NET Framework)中app.config文件的用途是什么?

来自分类Dev

IBM MQ .NET库未读取app.config

来自分类Dev

在类库项目中引用ASP.NET Core应用程序

来自分类Dev

如何从 UWP 应用引用 .NET Standard 2.0 类库?

来自分类Dev

从.net 4.5中的app.config读取设置

来自分类Dev

从.net 4.5中的app.config读取设置

来自分类Dev

从ASP.NET Core MVC Web应用程序(RC2)引用完整框架库项目吗?

来自分类Dev

ASP.NET Core 2.1 从类库中引用 ApplicationDbContext

来自分类Dev

尝试从Web应用程序ASP.NET Core RC2引用.net core类库时出错

来自分类Dev

无法从UWP引用.NET Core库

来自分类Dev

.NET Core Web 应用程序使用 .NET Framework 业务层与 .NET Standard 之间

来自分类Dev

.net-core 应用程序和 mashine.config(s) 中的空 DbProviderFactories

来自分类Dev

在.NET Core控制台应用程序中将app.config文件与NUnit3一起使用

来自分类Dev

Docker:如何在ASP.NET Core应用程序中读取configmap和密码?

来自分类Dev

在.net wf应用程序中保存到App.Config中的mailSettings

来自分类Dev

.NET Standard 库是否可以访问 .NET Core 方法?

来自分类Dev

如何调试引用Visual Studio 2019中的.NET Framework 4.8类库的.NET 5 WinForms应用程序

来自分类Dev

在 .NET Core 中,为什么我会决定创建一个面向 .NET Standard 而不是 .NET Core 的库?

来自分类Dev

在.NET 4.6项目中引用.NET Core库

来自分类Dev

Roslyn编译-如何引用.NET Standard 2.0类库

来自分类Dev

创建引用 ActionFilters、HTTPContext、HTTPException 等的 .Net Standard 库

来自分类Dev

从.net核心应用程序引用“传统”(旧).net库的可能性

来自分类Dev

在Linux App Service的Docker容器中运行.Net Core控制台应用程序

Related 相关文章

  1. 1

    从.NET Core应用程序引用.NET 4.6.2类库

  2. 2

    在 ASP.Net 应用程序中引用 .NET Standard 库

  3. 3

    如何在 .Net Core 控制台应用程序中引用 .Net Core 库

  4. 4

    在.NET 4.5.2中引用.NET Core库

  5. 5

    用.net core 3.0编写的应用程序可以引用.net core 2.2中开发的类库吗?

  6. 6

    如何创建.NET Core库我可以从.NET Core应用程序(Web API)引用

  7. 7

    ASP.NET Core Web应用程序(.NET Framework)中app.config文件的用途是什么?

  8. 8

    IBM MQ .NET库未读取app.config

  9. 9

    在类库项目中引用ASP.NET Core应用程序

  10. 10

    如何从 UWP 应用引用 .NET Standard 2.0 类库?

  11. 11

    从.net 4.5中的app.config读取设置

  12. 12

    从.net 4.5中的app.config读取设置

  13. 13

    从ASP.NET Core MVC Web应用程序(RC2)引用完整框架库项目吗?

  14. 14

    ASP.NET Core 2.1 从类库中引用 ApplicationDbContext

  15. 15

    尝试从Web应用程序ASP.NET Core RC2引用.net core类库时出错

  16. 16

    无法从UWP引用.NET Core库

  17. 17

    .NET Core Web 应用程序使用 .NET Framework 业务层与 .NET Standard 之间

  18. 18

    .net-core 应用程序和 mashine.config(s) 中的空 DbProviderFactories

  19. 19

    在.NET Core控制台应用程序中将app.config文件与NUnit3一起使用

  20. 20

    Docker:如何在ASP.NET Core应用程序中读取configmap和密码?

  21. 21

    在.net wf应用程序中保存到App.Config中的mailSettings

  22. 22

    .NET Standard 库是否可以访问 .NET Core 方法?

  23. 23

    如何调试引用Visual Studio 2019中的.NET Framework 4.8类库的.NET 5 WinForms应用程序

  24. 24

    在 .NET Core 中,为什么我会决定创建一个面向 .NET Standard 而不是 .NET Core 的库?

  25. 25

    在.NET 4.6项目中引用.NET Core库

  26. 26

    Roslyn编译-如何引用.NET Standard 2.0类库

  27. 27

    创建引用 ActionFilters、HTTPContext、HTTPException 等的 .Net Standard 库

  28. 28

    从.net核心应用程序引用“传统”(旧).net库的可能性

  29. 29

    在Linux App Service的Docker容器中运行.Net Core控制台应用程序

热门标签

归档