为啥 libman.json 被创建为“内容”以及为啥它具有“如果较新则复制”属性?

Posted

技术标签:

【中文标题】为啥 libman.json 被创建为“内容”以及为啥它具有“如果较新则复制”属性?【英文标题】:Why libman.json is created as 'Content' and why it has 'Copy if newer' property?为什么 libman.json 被创建为“内容”以及为什么它具有“如果较新则复制”属性? 【发布时间】:2022-01-23 09:46:35 【问题描述】:

上下文

当我在 VS 中使用 Add Client Side Library 时,它会在项目中创建 libman.json 文件,其属性为“Content”和“Copy if newer”

问题

为什么 libman.json 被创建为“内容”以及为什么它具有“如果新则复制”属性?据我了解,两者都已过时,因为我们必须注意的唯一一件事是,libman.json 应该放在源代码管理中。我错过了什么?

(噪音,可选读数)

(顺便说一句,在多个项目的情况下,可能会有多个libman.json文件,所以 Copy if newer 属性使构建过程用最后一个覆盖其他 libman.json,而 Content 属性使发布过程用最后一个覆盖其他 libman.json(或在 .NET 6 中失败,但请注意这篇文章不是关于如何解决的)

【问题讨论】:

【参考方案1】:

简单的答案(至少在 SDK 风格的 .NET 项目中)是它来自 SDK 的文件通配模式,很可能来自 Razor SDK (here)。

对于任何其他文件,例如 package.json 文件,您都会遇到同样的问题,包括文件名重复的多项目方案中的相同错误。

【讨论】:

那么..我们应该停止将它复制到发布文件夹吗?

以上是关于为啥 libman.json 被创建为“内容”以及为啥它具有“如果较新则复制”属性?的主要内容,如果未能解决你的问题,请参考以下文章

为啥函数被描述为块范围

为啥从assetBundle添加MeshCollider时网格被标记为不可访问以及如何解决?

为啥我的数字变量有日期以及如何将整个内容转换为 xts?

sqlyog为啥用不了reference

为啥视图的阴影被创建为内部

为啥构造函数总是与类具有相同的名称以及它们是如何被隐式调用的?