端游游戏开发

web站点和windows服务项目发布时如何排除指定文件

时间:2017-7-7 9:09:26  作者:06评比  来源:06评比  查看:9908  评论:0
内容摘要:  在发布asp.net站点和windows服务项目时,有的时候这样的需求:msbuild编译之后发布到服务器指定目录时要排除指定文件,比如通过jenkins构建时,不希望覆盖原来的Web.config和App.config,那么该如何排除呢?回到顶部web站点项目比如不希望发布...
  在发布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" />

 

注意:

这种方式虽然可以实现发布时排除,但是同时也从项目中排除了,对于本地开发调试不方便。

web站点和windows服务项目发布时如何排除指定文件

 

3,使用Target和ExcludeFromPackageFiles

添加新的Target节点,如下代码:

web站点和windows服务项目发布时如何排除指定文件

web站点和windows服务项目发布时如何排除指定文件 View Code

总结:最佳实践是使用方法3,既可以实现发布时排除,又能保证文件存在于项目中,不影响本地开发和调试。

另外:

由于msbuild基于.csproj项目文件,所以以上操作都是修改.csproj文件,修改方法如下:

1,卸载项目

如下图:

web站点和windows服务项目发布时如何排除指定文件

 

2,编辑csproj文件

如下图:

web站点和windows服务项目发布时如何排除指定文件

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

标签:web站点和windows服务项目发布时如何排除指定文件 
相关文章

    本站评比的所有娱乐站点,均为世界最权威专业的网站 

    06评比专为广大博友提供服务好、信誉高、种类多的娱乐网站 

    邮箱:1004003180@qq.com   合作广告请联系! 

    Copyright © 2006-2021  06评比,你身边的线上娱乐评比担保机构  All Rights Reserved