加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 系统 > 正文

为什么这个类库dll无法从app.config获取信息

发布时间:2021-01-27 22:15:48 所属栏目:系统 来源:网络整理
导读:我正在开发一个自定义的HttpHandler,为此我编写了一个C#类库并编译为DLL. 作为其中的一部分,我有一些目录位置,我不想在应用程序中硬编码,所以我试图把它放在我之前使用过的app.config中. 在此之前,只需构建app.config即可: ?xml version="1.0" encoding="ut

我正在开发一个自定义的HttpHandler,为此我编写了一个C#类库并编译为DLL.

作为其中的一部分,我有一些目录位置,我不想在应用程序中硬编码,所以我试图把它放在我之前使用过的app.config中.

在此之前,只需构建app.config即可:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="Share" value="C:..."/>
  </appSettings>
</configuration>

然后在代码中获取此代码:

var shareDirectory = ConfigurationManager.AppSettings["Share"];

但是当我编译它并将其放在web服务的bin文件夹中时,它会一直为shareDirectory获取null,可能是因为它无法找到app.config.那么我如何确保包含这些内容,以便我不必对我的目标位置进行硬编码?我注意到它基本上在编译后我们得到了assembly.dll和assembly.dll.config这是app.config文件,所以它肯定在bin文件夹中!

解决方法

您可能会混淆类库的范围.

请记住,您的配置,无论是web.config还是app.config,都是HOSTING应用程序中的配置.在这种情况下,您的托管应用程序是WebService,当然由IIS托管,因此您的配置文件是web.config.

如果你有一个控制台应用程序以某种方式使用该类库(虽然可能不在http处理程序上下文中),那么配置将是控制台应用程序中的app.config,而不是类库中的app.config.

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读