为啥 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 被创建为“内容”以及为啥它具有“如果较新则复制”属性?的主要内容,如果未能解决你的问题,请参考以下文章