Visual studio 2015 .Net Core project.json具有相同名称的多个项目

Visual studio 2015 .Net Core project.json具有相同名称的多个项目,visual-studio-2015,.net-core,Visual Studio 2015,.net Core,我将名为Common的项目放在目录NamespaceA中。 我将名为Common的项目放在目录NamespaceB中 现在我想使用project.json在第二个项目中引用第一个项目 但这是不可能的 error: Cycle detected: error: Common (>= 9.0.0) -> Common (>= 9.0.0) -> Common (>= 9.0.0). VS认为两者是同一个项目 在project.json中,您引用了NuGet包。如

我将名为Common的项目放在目录NamespaceA中。 我将名为Common的项目放在目录NamespaceB中

现在我想使用project.json在第二个项目中引用第一个项目

但这是不可能的

error: Cycle detected: 
error:   Common (>= 9.0.0) -> Common (>= 9.0.0) -> Common (>= 9.0.0).

VS认为两者是同一个项目

project.json
中,您引用了NuGet包。如果有多个NuGet包具有相同的属性,那么项目系统无法确定哪个是哪个。因此,很遗憾,您的场景不受支持。唯一的解决方案是重命名包


这几乎就像有两个同名的类型,都是导入的,并且引用它们时没有全名。编译器将不知道选择哪一个。

您是否可以通过在project.json中指定来重命名项目?看起来唯一的方法就是真正重命名项目。例如Core.Common,Something.Common。我试图通过新名称为项目和引用指定名称属性。但出现了一个错误:无法解析“.NETFramework,Version=v4.6.1”的“Core.Common2(>=9.0.0)”。VS intellisense不将“name”显示为project.json的选项。因此,它允许在buildOptions中仅指定标题和程序集名称。我不太清楚,但它可能已经被弃用,也可能尚未得到很好的支持。
“name”
属于project.json的顶层,而不在
“buildOptions”
中。我只在buildOptions中提到了程序集名称。。。标题也是根元素。。。您没有仔细阅读我的评论…)假设project.json只引用nuget包,而不引用解决方案中的项目。。。我想你们会同意,在大多数情况下,解决方案中的项目并不等于一个nuget包。Nuget包中可以包含多个程序集。因此,Net Core试图使所有项目都具有通用性,但与csproj系统相比存在缺点,在csproj系统中,我可以将项目命名为相同的项目。由于性能原因,.Net核心团队删除了名称元素。。。所以我不能用它。另一个缺点是缺少外部别名。