App.config使用ASP.NET Web Project的Transformation模式编译方式
我们在项目开发的时候,经常会在不同的环境中使用不同的配置文件,那么编译时是否可以根据编译模式自动生成配置文件呢?我们来试试看:
1、创建对应configuration的App.config文件,比如:App.Debug.config、App.Release.config。
2、编辑项目文件,将App.*.config文件的Build Action修改为Content,参考如下:
<Content Include="App.config" /> <Content Include="App.Debug.config"> <DependentUpon>App.config</DependentUpon> </Content> <Content Include="App.Publish.config"> <DependentUpon>App.config</DependentUpon> </Content> <Content Include="App.Release.config"> <DependentUpon>App.config</DependentUpon> </Content>
3、在</Project>标签前加入以下配置:
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll" /> <Target Name="AfterCompile" Condition="exists('app.$(Configuration).config')"> <TransformXml Source="app.config" Destination="$(IntermediateOutputPath)$(TargetFileName).config" Transform="app.$(Configuration).config" /> <ItemGroup> <AppConfigWithTargetPath Remove="app.config" /> <AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config"> <TargetPath>$(TargetFileName).config</TargetPath> </AppConfigWithTargetPath> </ItemGroup> </Target>
重新加载项目,就可以看到App.config和Web.config相同的效果。
如果不想使用各种xdt语法,可以直接指定configuration的App.config:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <AppConfig>App.Release.config</AppConfig> </PropertyGroup>
使用上下文变量修改为更通用的配置:
<PropertyGroup> <AppConfig>App.$(Configuration).config</AppConfig> </PropertyGroup>
出处:https://www.cnblogs.com/junchu25/p/3891810.html
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/15396344.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
分类:
VS设置
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-10-12 在bat脚本if中多条件判断
2020-10-12 如何在批处理中使用FOR /F输出空行
2020-10-12 bat文件修改或替换文件内容
2020-10-12 如何查看并确定已安装的 .NET Framework 版本
2019-10-12 C#中的事件的订阅与发布
2019-10-12 c# Winform 开发分屏显示应用程序