web站点和windows服务项目发布时如何排除指定文…
2018-06-22 07:49:31来源:未知 阅读 ()
在发布asp.net站点和windows服务项目时,有的时候这样的需求:msbuild编译之后发布到服务器指定目录时要排除指定文件,比如通过jenkins构建时,不希望覆盖原来的Web.config和App.config,那么该如何排除呢?
web站点项目
比如不希望发布Web.config文件,有以下三种方法。
1,将项Content改为None
修改前:
1 <Content Include="Web.config" />
修改后:
1 <None Include="Web.config" />
2,使用项的Exclude属性
如下代码:
1 <Content Include="Web.config" Exclude="Web.config" />
注意:
这种方式虽然可以实现发布时排除,但是同时也从项目中排除了,对于本地开发调试不方便。
3,使用Target和ExcludeFromPackageFiles
添加新的Target节点,如下代码:
1 <!--通过ExcludeFromPackageFiles排除Web.config--> 2 <Target Name="CustomExcludeFiles" BeforeTargets="ExcludeFilesFromPackage"> 3 <ItemGroup> 4 <ExcludeFromPackageFiles Include="Web.config"></ExcludeFromPackageFiles> 5 </ItemGroup> 6 </Target>
总结:最佳实践是使用方法3,既可以实现发布时排除,又能保证文件存在于项目中,不影响本地开发和调试。
另外:
由于msbuild基于.csproj项目文件,所以以上操作都是修改.csproj文件,修改方法如下:
1,卸载项目
如下图:
2,编辑csproj文件
如下图:
windows服务项目
由于在windows服务项目中,App.config本来就是None类型的,且使用Target和ExcludeFromPackageFiles的方式不适用,所以暂时使用项的Exclude属性实现。
修改前:
1 <None Include="App.config" />
修改后:
1 <None Include="App.config" Exclude="App.config" />
参考资料
1,https://stackoverflow.com/questions/6358635/exclude-files-from-web-site-deployment-with-msbuild
2,msbuild参考:https://docs.microsoft.com/zh-cn/visualstudio/msbuild/msbuild
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- Asp.Net中WebForm的生命周期 2020-03-29
- ASP.NET使用WebService实现天气预报功能 2020-01-20
- 浅谈ASP.Net Core WebApi几种版本控制对比 2019-12-10
- 详解Visual之Web Essentials的使用方法 2019-11-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash