c# - 在 Asp.Net Core 解决方案发布时转换 app.config 文件?

标签 c# asp.net-core asp.net-core-mvc asp.net-core-webapi

我有一个带有 .NET Framework 4.6.1 的 ASP.NET Core WebApi 项目。我还有一个 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 的方法。效果很好!

关于c# - 在 Asp.Net Core 解决方案发布时转换 app.config 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43367665/

相关文章:

c# - ASP Core 拦截所有身份验证请求

c# - 在 MVC 6 中读取文件

c# - Xaml - 如何使用 ViewModel 中的 ImageSource

c# - 在 Visual Studio 2015 中构建 VSIX 项目时出现错误 CS1759

c# - ADO.Net 实体数据模型向导即将关闭

asp.net - 实体类型 'Microsoft.AspNetCore.Mvc.Rendering.SelectListGroup'需要定义主键

c# - 如何在 TreeView 中找到根节点

c# - 如何在登录流程中查找客户端 ID

asp.net-core - 筛选 Azure Web 应用诊断日志中的日志

c# - 在类中从 appsetting.json 获取值