0

我有一个引用 WCF 服务的 C# 类库。这会在 app.config 中创建服务设置。当我构建应用程序时,设置正确地位于 appname.dll.config 中。但是,当安装应用程序创建 setup.exe 并将其安装在另一台机器上时,其中的配置文件缺少服务引用。它只有我的实体框架模型的连接字符串。

为什么会这样?我需要服务参考设置,因为运行服务的机器可能会不时更改。

编辑:似乎没有人理解这个问题。我的安装应用程序将 dll 以及 dll.config 安装到目标目录。我知道我需要将该配置复制到 exe 应用程序,但现在没有。这将取决于该机器上的客户端将其从该目标文件夹复制到任何需要的位置。问题是 dll.config 不包含服务设置,即使 dll 的 app.config 包含并且 dll 的发布目录中的 dll.config 也包含。由于某种原因,创建 setup.exe 并打包 dll.config 的安装应用程序正在丢失此信息。我希望这能让它更清楚。

4

2 回答 2

1

当您在需要配置设置的 dll 中编写代码时,这些设置将添加到 dll 的 app.config 中。当您想在 exe(或网站)中使用该 dll 时,您需要将适当的设置从 dll 的配置复制到 exe 的配置。

一旦你这样做了,安装程序应该得到 exe 的配置并具有正确的配置部分。

如果您没有该 exe 的 app.config,请创建一个。如果您有一个并且安装程序没有安装它,请确保它正在安装它。应用程序域仅在一个文件中查找配置,默认为 exe 的应用程序配置。你要让它工作的唯一方法是将这些信息放入 exe 的应用程序配置中。

于 2012-07-26T13:10:50.740 回答
0

在我看来,服务设置将进入类库配置文件。您能否检查它们是否也进入了您的主应用程序可执行文件的 app.config 文件。

于 2012-07-26T12:58:38.327 回答