1

我的目标是从 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

我不确定如何解决此问题。在我看来,构建过程知道它应该将这些文件构建到输出中,但是当构建实际发生时,它会将它们排除在外并破坏了引用。

任何帮助都会很棒。

4

1 回答 1

1

好吧,我想找出导致我的问题的原因。我的一个共享项目的 RootNamespace 值不正确。所以我从 vs2017 纠正了它,然后做了一个干净的构建,令我惊讶的是它在 linux 上工作......

于 2017-06-14T13:28:30.393 回答