使用msbuild从网站部署中排除文件

我有一个使用msbuild部署的网站项目。 在项目中,有一些构建所需的文件和文件夹(例如web.config部件替换文件),但我不想部署到目标站点。

我能想到的最好的是删除这些文件的后期构建目标,但我想知道是否有办法将这些文件复制到输出文件夹中。

您可以选择文件并将其“构建操作”设置为“ExcludeFromPackageFiles”。 这样,visual studio将编辑csproj xml而你不必这样做。

嗨查看此博客文章 ,它保存了我的一天,

我试图排除javascripts的未缩小版本,并且在发布时只使用缩小版本(我正在删除大型javascripts和chirp.config),它只需要进行调试。

只需将其放在项目文件中,如链接中所述。

  Project     

发布的网站不包括以下内容:

  • 脚本\大
  • mash.js.chirp.config

在属性资源管理器中为文件更改选项“复制到输出目录”不要复制“

在此处输入图像描述

您可以将MSDeploy与Web发布管道一起使用,以排除要包括在包创建中的文件。 如果要从已部署的包中排除例如App_Data文件夹,则可以使用类似这样的内容

    ExcludeApp_Data    

不知何故编辑器没有正确显示代码。 配置Package / Publish Web时,会在proj文件中生成上述内容。 您可以添加自己的目标来完成它。

例如,如果要从构建中排除Scripts \ jquery文件,请创建单独的ExcludeScriptFiles.wpp.targets文件,如下所示

   ExcludeScriptFiles.wpp.targets   ExcludeScriptFiles.wpp.targets    

这只是编写自己的目标的一个简单示例。

希望这可以帮助

我正在使用Visual Studio 2012和Jenkins, 唯一对我有用的是将“Build Action”改为“None:”

在此处输入图像描述

在内部,它将PROJECT .csproj文件中的XML标记从“Content”设置为“None:”

  

我关闭了项目,然后使用另一个编辑器手动编辑了文件以排除我所有的咖啡文件。

(我的所有咖啡文件仍然被转换为js文件。)