如何在发布期间包含相关项目 XML 注释文件?
Posted
技术标签:
【中文标题】如何在发布期间包含相关项目 XML 注释文件?【英文标题】:How to include dependent projects XML-comment files during a publish? 【发布时间】:2020-04-17 10:40:15 【问题描述】:当我使用 Visual Studio for ASP.net 中内置的“普通”“发布工具”时,它似乎不包括属于依赖项目/程序集的 XML 注释文件。
例如,假设我们有两个项目:
-
Presentation = Web 应用程序
定义 = 一个项目
包含模型的定义
表示项目依赖于定义项目。 演示项目启用了 XML-cmets,定义项目也启用了(适用于所有配置)。
演示项目在其控制器的操作中添加了一些 cmets。 定义项目在模型的属性中添加了一些 cmets。
预期的结果是,当我发布 Presentation-project 时,我们应该在 bin 文件夹中得到两个 XML- 文件:
Presentation.xml 定义.xml如果在每个项目的构建属性中指定了任何其他名称,名称当然可能会改变。 实际结果是只有 Presentation.xml 发布到 bin 文件夹。
我尝试将生成的 Definitions.xml 文件链接到 Presentation-project 将其设置为“内容”并始终复制,最终在发布期间将文件复制到应用程序的根文件夹而不是 /bin 文件夹。 我尝试过同样的事情,但将其链接到 Presentation-project 的 bin 文件夹中,但最终导致 Definitions.xml 文件的结果位于 /bin/bin/Definitions.xml。 我尝试过链接和设置 Always,但没有任何效果。
这是一个简单的示例,可用于重构问题: https://github.com/Inx51/publishdemo
但是.. 需要注意的一点是,Definitions.xml 文件在构建过程中确实被复制到了 /bin 文件夹,但它没有被复制一次使用发布。
任何人有解决这种奇怪行为的方法吗?
【问题讨论】:
【参考方案1】:编辑您的项目 XML 文件 .csproj
/.vbproj
,并将其包含在第一个 PropertyGroup
中:
<ExcludeXmlAssemblyFiles>false</ExcludeXmlAssemblyFiles>
这将包括所有依赖程序集的所有.xml
。
【讨论】:
以上是关于如何在发布期间包含相关项目 XML 注释文件?的主要内容,如果未能解决你的问题,请参考以下文章
Python 如何在使用 Python 写入新值后保持 XML 注释存在?
如何在 node.js 断开连接期间缓冲 MongoDB 插入?
如何将基于 java 的注释 maven 项目转换为 Spring Boot?