我的目标是从 dotnetcore 类库中引用一个共享项目。
为了做到这一点,我在 windows 上的 Visual Studios 2017 中打开了我在 linux 上使用 .NET 命令行工具 (1.0.4) 制作的解决方案,因为我读到 vs2017 支持对 shprojs 的引用。所以我使用 vs 添加了一个引用,并将这一行添加到 .netcore 库 csproj 文件中:
<Import Project="..\Objects\LogoRecognitionShared.projitems" Label="Shared" />
在这一点上,我认为一切都会完美无缺。我在视觉工作室中构建它,那里没有问题。我认为由于我的 cli 版本在 windows 和 linux 上是相同的,因此该项目将以相同的方式构建并支持相同的功能。
但是,当我在 linux 上尝试这些更改时,我收到了一堆“ error CS0246: The type or namespace name 'TypeName' could not be found (are you missing a using directive or an assembly reference?)
”消息。
我也使用了该<Compile Include="..\Objects\*.cs"/>
语句并得到了同样的错误。但是,如果我同时使用两者,那么我会得到warning CS2002: Source file 'Objects/*.cs' specified multiple times
我不确定如何解决此问题。在我看来,构建过程知道它应该将这些文件构建到输出中,但是当构建实际发生时,它会将它们排除在外并破坏了引用。
任何帮助都会很棒。