项目要求一个已经存在的配置设置

本文关键字:存在 设置 配置 一个 项目 | 更新日期: 2023-09-27 18:09:47

下面是我调用的代码:

try
{
    using (var client = new WCFServiceChannelFactory<IFxCurveService>())
    {
        guid = client.Call(svc => svc.ReserveSnapshot(fxCurveKey));
        DiscountFactorNew[] dfs = client.Call(svc => svc.GetDiscountFactors(guid, dates, from));
        return (double)dfs[0].Value;
    }
}
catch
{
    throw new Exception();
}

现在它不能实例化WCFServiceFactory,因为它找不到我们需要的。config键之一,然而,它在app.config中。

<appSettings>
    <add key="ConfigurationServiceAddress" value="http://ksintapp:91/configurationservice.svc/mex" />
</appSettings>

这个文件和调用它的文件在同一个目录中。它们是项目中仅有的两个文件,而项目是解决方案中唯一的项目。

错误:

由于应用程序,初始化配置存储库失败无法找到带有关键字"ConfigurationServiceAddress"的设置在本地配置文件中。

任何想法?

项目要求一个已经存在的配置设置

如果这是一个可执行的应用程序(Console, WinForms, WPF),请确保配置文件名为AppName.exe.config,并位于与AppName.exe相同的目录中,其中AppName是项目名称。如果它是一个web应用程序,请确保此设置存在于web.config .

当你在Visual Studio中添加一个App.config文件到一个可执行类型的项目时,每次你构建它时,它通过将其重命名为AppName.exe.config来复制到输出目录(bin/Debug或bin/Release),以便在运行时应用程序能够解析它。

通过更改服务创建来解决这个问题:

using (var client = new WCFServiceChannelFactory<IFxCurveService>(new Uri("http://ksqcoreapp64int:5025/")))

但现在我有不同的问题,但至少我得到了不需要配置文件。

配置文件必须由承载代码的应用程序加载。在你的评论中,你说这是一个由excel加载的程序集。你将无法创建一个有任何意义的excel.exe.config文件。

因此,您需要显式地说明要加载哪些配置文件或更改为使用注册表。在安装程序中定义该键时,我可能会使用后者。