如何防止Visual Studio在Web项目中“发布”XML文档文件?

注意:此问题类似于如何在发布模式构建中阻止XML文档文件的副本? ,但它不一样,那里的答案不适用。 请继续阅读以找出原因。 (如果您不同意,请在评论或聊天中询问,我很乐意精心制作)。


我有一个库项目(myLibrary)和一个引用该库的ASP.NET Web应用程序项目(两者都在同一个解决方案中)。 检查库项目的“生成XML文档文件”,因为我希望在开发时具有那些不错的IntelliSensefunction。

当我发布 Web应用程序(项目上的上下文菜单/发布…)时,它只将运行应用程序所需的文件(无源代码等)复制到某个发布目录。 非常好。 不幸的是,它还复制了库的XML文档文件。 由于我认为我们图书馆的文档是商业秘密,我不希望它最终出现在客户的服务器上。 因此,我们必须记住在部署之前从发布目录中手动删除此文件。

有没有办法阻止 Visual Studio在发布ASP.NET项目时复制此文件,但在开发时仍然保留XML文档IntelliSense的好处?

假设您正在使用不同的配置进行开发和发布(以及其他任何内容),取消选中“XML文档文件”/关闭特定配置的生成将阻止在不需要时进行部署。 另一种选择是删除文件的构建后操作。

前两种选择看起来更优雅。

有没有办法阻止Visual Studio在发布ASP.NET项目时复制此文件,

在发布模式下关闭 XML文档

但在开发时仍然保留XML文档IntelliSense的好处?

在调试模式下打开/ 关闭 XML文档。 Intellisense将以任何一种方式工作。

还有另一种解决方案。 只需在开头的某个地方的csproj文件中包含以下内容:

.pdb 

而已。 将不再发布XML文件。 当然,您可以以具体配置为条件。

我在Express中这样做,但这似乎对我有用……

  1. 去了物业(项目)
  2. 单击“发布”选项卡
  3. 单击应用程序文件按钮
  4. 选中显示所有文件
  5. 将xml文件设置为Exclude

正如我所说,使用Express 2010,但这有效(它没有将文件复制到Publish位置)。

你可以通过在visual studio上添加addon Web部署项目来实现这个目的,可以从这里下载: http : //www.microsoft.com/download/en/details.aspx?id = 199199并排除你的任何文件/文件夹需要请按照此处的步骤操作