C# 如何防止Visual Studio;出版「;web项目中的XML文档文件?

C# 如何防止Visual Studio;出版「;web项目中的XML文档文件?,c#,asp.net,vb.net,deployment,publish,C#,Asp.net,Vb.net,Deployment,Publish,注意:这个问题与类似,但不同,答案也不适用。请继续阅读,找出原因。(如果您不同意,请在评论或聊天中询问,我很乐意详细说明) 我有一个库项目(myLibrary)和一个引用该库的ASP.NET web应用程序项目(两者都在同一个解决方案中)。在库项目中选中了“生成XML文档文件”,因为我希望在开发过程中拥有这些优秀的IntelliSense功能 当我发布web应用程序(项目/发布上的上下文菜单…)时,它只将运行应用程序所需的文件(无源代码等)复制到某个发布目录。那很好。不幸的是,它还复制了库的X

注意:这个问题与类似,但不同,答案也不适用。请继续阅读,找出原因。(如果您不同意,请在评论或聊天中询问,我很乐意详细说明)


我有一个库项目(myLibrary)和一个引用该库的ASP.NET web应用程序项目(两者都在同一个解决方案中)。在库项目中选中了“生成XML文档文件”,因为我希望在开发过程中拥有这些优秀的IntelliSense功能

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

有没有办法防止Visual Studio在发布ASP.NET项目时复制此文件,但在开发时仍保留XML文档IntelliSense的优点

是否有一种方法可以防止Visual Studio在 发布ASP.NET项目

在发布模式下关闭XML文档

但仍然保留了XML的优点 开发时的文档智能感知


在调试模式下打开XML文档。智能感知将以任何方式工作

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


这两个选项中的前一个看起来更优雅。

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

  • 转到属性(用于项目)
  • 单击“发布”选项卡
  • 单击应用程序文件按钮
  • 选中“显示所有文件”
  • 将xml文件设置为排除

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

    您可以通过在visual studio上添加可从此处下载的插件Web部署项目来实现这一点:要排除您需要的任何文件/文件夹,请按照找到的步骤进行操作。

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

    <AllowedReferenceRelatedFileExtensions>.pdb</AllowedReferenceRelatedFileExtensions>
    
    .pdb
    

    就这样。XML文件将不再发布。当然,您可以根据具体配置设置条件。

    我不同意您的最后一句话:如果关闭库中的XML文档,则不会显示方法摘要(刚刚测试过:关闭、清理项目、编写代码)。谢谢,但这只适用于Windows应用程序项目,不适用于Web应用程序。他们有一个不同的发布过程,据我所知,你不能在那里配置单个文件。啊,错过了这一部分。抱歉。这不太理想,因为(a)您需要手动编辑vbproj文件,以便在调试/发布时以不同的方式设置此值;(b)在设置“发布”时编码时,您错过了一些Intellisense功能,但这似乎是迄今为止最好的选择。@Heinzi我不相信您不能在UI中按配置执行此操作,但你让我考虑做一个精神检查。。。健全性检查:这可以在UI中的每个配置中指定。我刚才也检查了:您可以为C#项目执行此操作,但不能为VB项目执行此操作。在VB项目中,该设置用于所有配置(除非您在vbproj文件中手动重写此设置——然后UI中的复选框显示“不确定状态”)。@Heinzi抱歉,我没有彻底检查VB.NET项目。注意:此更改将停止引用程序集中的.config文件(在同一解决方案中)从被输出。