在核心解决方案发布 Asp.Net 转换 app.config 文件?



我有一个 ASP.NET 核心WebApi项目,带有.NET Framework 4.6.1。我还有一个 app.config 文件,其中包含某些 WCF 服务的终结点。我为每个环境(如 Dev 和 Qa 等)都有一个相应的 app.config。但是当我发布解决方案时,它不会根据环境转换 app.config。你对我怎么做有什么想法吗?

我想出的解决方案是添加一个后期构建命令,该命令将转换后的Web配置复制到MyProject.exe.config的顶部。为了使其正常工作,您需要将程序集重定向从 app.config(output) 复制到 web.config。然后你只需要一个配置文件。这不是一个很好的解决方案,我将实现一种不同的方法来使用 appSettings.json 引用 wcf 连接并在 C# 代码中创建客户端,但这现在将起作用。在我们的持续集成构建中,我有一个 powershell 命令,它在构建后执行相同的操作。另一个警告:我正在部署到IIS,需要web.config身份验证设置(用于Windows身份验证),所以我必须确保web.config和MyProject.exe.config都已部署。这最终是同一个文件,IIS 使用它需要的部分,WCF 客户端生成器使用它需要的部分。同样,我们不会长时间使用它,我建议以编程方式构建 WCF 客户端。

更新:我使用 appsettings.json 来包含我的基于环境的设置,并添加了一种使用 .netStandard 中的 system.servicemodel 类连接到 wcf 的方法。 效果很好!

最新更新