我正在从Visual Studio 2013发布Web应用程序。我需要包含不属于项目一部分的文件夹,并排除一些文件夹(项目的某些部分,有些不是项目的一部分)。所以我进入了项目的属性,并将Items To Deploy
字段设置为All files in this project folder
,如下所示:
然后我开始寻找一种从All files in this project folder
中排除文件夹的方法。我找到了this页面,其中明确说明了
Visual Studio UI不公开所有部署设置 你可以配置。例如,您无法使用UI进行排除 部署中的单个文件夹。但是,你可以这样做 编辑存储配置设置的文件。对于每个发布 配置文件有一个.pubxml文件,您可以直接编辑。
此页面链接到另一个解释如何编辑文件的页面,但没有解释如何排除特定文件夹。
我发现其他网站(包括this one)解释了如何使用csproj文件中的以下标记排除旧版Visual Studio中的文件夹:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
...
<ExcludeFilesFromDeployment>File1.aspx;File2.aspx</ExcludeFilesFromDeployment>
<ExcludeFoldersFromDeployment>Folder1;Folder2</ExcludeFoldersFromDeployment>
</PropertyGroup>
但似乎csproj文件的XML元素在VS2013中不再相关。我在某个地方读了(现在不记得了)这个元素已被移动到[PublishProfileName].pubxml
文件的建议,但尝试这个没有用。
我确信在Visual Studio 2013中有一种方法可以做到这一点,但对于我的生活,我无法弄清楚如何。我在Stackoverflow以及其他论坛上找到了十几个相关的问题,但在VS2013中没有一个解决方案适合我。非常感谢任何帮助。
答案 0 :(得分:22)
这些元素确实已移至Visual Studio 2012及更高版本中的.pubxml文件。关于从部署中排除文件和文件夹的Here's the relevant documentation in MSDN。
在Visual Studio解决方案资源管理器中的“属性/发布配置文件”下找到相关的.pubxml文件,并在列出文件或文件夹的ExcludeFilesFromDeployment
元素下添加新元素ExcludeFoldersFromDeployment
或PropertyGroup
被排除在外,用分号分隔。
我注意到,当我在Visual Studio 2015中输入这些元素时,这些元素并未作为智能感知选择中的选项出现 - 但编译的项目和排除仍然有效。
答案 1 :(得分:-1)
在cpproj文件中添加那些不包含在发布过程中的文件夹和文件