如何从Visual Studio 2013 Web应用程序的发布/部署中排除文件夹

Tre*_*vor 14 web-deployment visual-studio-2013

我正在从Visual Studio 2013发布Web应用程序.我需要包含不属于项目一部分的文件夹,并排除一些文件夹(项目的某些部分,有些不是项目的一部分).所以我进入了我的项目属性并设置了Items To Deploy字段,All files in this project folder如下所示:

在此输入图像描述

然后我开始寻找一种排除文件夹的方法All files in this project folder.我找到了这个页面,具体说明了

Visual Studio UI不会公开您可以配置的所有部署设置.例如,您无法使用UI从部署中排除单个文件夹.但是,您可以通过编辑存储配置设置的文件来执行此操作.对于每个发布配置文件,都有一个.pubxml文件,您可以直接编辑该文件.

此页面链接到另一个解释如何编辑文件的页面,但没有解释如何排除特定文件夹.

我发现其他网站(包括这个网站)解释了如何使用csproj文件中的以下标记排除旧版Visual Studio中的文件夹:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
  ... 
  <ExcludeFilesFromDeployment>File1.aspx;File2.aspx</ExcludeFilesFromDeployment> 
  <ExcludeFoldersFromDeployment>Folder1;Folder2</ExcludeFoldersFromDeployment> 
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

但似乎csproj文件的XML元素在VS2013中不再相关.我在某个地方(不记得现在在哪里)读到这个元素已被移动到[PublishProfileName].pubxml文件的建议,但尝试这个无法工作.

我确信在Visual Studio 2013中有一种方法可以做到这一点,但对于我的生活,我无法弄清楚如何.我在Stackoverflow以及其他论坛上找到了十几个相关的问题,但在VS2013中没有一个解决方案适合我.任何帮助深表感谢.

小智 25

这些元素确实已移至Visual Studio 2012及更高版本中的.pubxml文件.以下是MSDN中有关从部署中排除文件和文件夹的相关文档.

在Visual Studio解决方案资源管理器中的"属性/发布配置文件"下找到相关的.pubxml文件,然后添加一个新元素,ExcludeFilesFromDeployment或者ExcludeFoldersFromDeploymentPropertyGroup列出要排除的文件或文件夹的元素下,用分号分隔.

我注意到,当我将它们输入到Visual Studio 2015中时,这些元素在IntelliSense选择中并未显示为选项 - 但编译的项目和排除仍然有效.