2012-07-26 83 views
0

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

这是怎么发生的?我需要服务参考设置,因为服务运行的机器可能会随时更改。编辑: 似乎没有人理解这个问题。我的安装应用程序将dll安装到目标目录以及dll.config。我知道我会需要将该配置复制到exe应用程序,但现在没有一个。这将取决于该机器上的客户端将其从目标文件夹复制到任何需要的地方。问题是,dll.config不包括服务设置,即使dll的app.config和dll版本目录中的dll.config也是如此。出于某种原因,创建setup.exe并正在打包dll.config的安装程序正在丢失此信息。我希望这更清楚。

+0

您是否使用特定的工具来创建您的设置或只是一个Visual Studio安装项目? – Steve 2012-07-26 13:47:02

回答

1

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

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

如果您没有exe文件的app.config,请创建一个。如果你有一个,安装程序不安装它,确保它正在安装它。应用程序域只在配置文件中查找,默认为exe的应用程序配置。 唯一的方法你会得到这个工作是获得该信息到exe的应用程序配置。

+0

你误解了这个问题。请参阅OP的编辑。 – Jonnster 2012-07-26 13:30:43

+0

@jonnster编辑我的答案 – 2012-07-26 13:35:52

+0

我明白了。我愚蠢地在我的设置项目中包含错误的配置文件。谢谢。 – Jonnster 2012-07-26 14:01:43

0

这听起来像服务设置进入类库配置文件。 你能否检查他们是否也进入了主应用程序可执行文件的app.config文件。

+0

你误解了这个问题。请参阅OP的编辑。 – Jonnster 2012-07-26 13:30:18