Visual Studio 2017错误:无法找到项目信息""这可能表示缺少项目参考 - 使用Console App .NET Core 2.1

The*_*dge 8 c# .net-core .net-standard

  • VS 15.7.5

我有一个.NET Standard 2.0类库:

在此输入图像描述

它存在于自己的解决方案中,但我现在已将其添加到不同的解决方案中,以便我可以将其与我的.NET Core 2.1控制台测试运行器一起使用:

在此输入图像描述

但是,一旦我这样做,我就会收到错误.如果我删除控制台应用程序,那么一切都编译没有错误.

那我在这里错过了什么?为什么.NET Core 2.1控制台应用程序找不到我的.NET Standard 2.0类库?

Toa*_*yen 5

我只是试图复制你所做的,它对我有用!

我的.net 2标准 在此输入图像描述

那只有一节课

 public class School
    {
        public string Name => "Mango Hill";
    }
Run Code Online (Sandbox Code Playgroud)

和我的.net核心2.1项目

在此输入图像描述

从库中调用该类 在此输入图像描述

你可以看到输出.因此,我建议您检查公共项目以查看它是否引用任何完整库,然后尝试隔离引用.


The*_*dge 3

  • 这里的问题是,无论出于何种原因,如果满足以下条件,.NET Core 控制台应用程序都会失败并出现我收到的错误:

    1. 您可以在包含标准项目的原始解决方案下的文件夹中创建该标准项目。假设您在路径 D:\Rubbish\slnStandard 中有一个名为 slnStandard 的解决方案。

然后在路径中添加一个新的标准类库项目Standard.Project.cproj:

a) D:\Rubbish\slnStandard\Standard.Project   <== Will Compile in slnStandard
b) D:\Rubbish\slnStandard\SubFolder\Standard.Project <== Will Compile in slnStandard
Run Code Online (Sandbox Code Playgroud)
  1. 创建第二个解决方案 slnSecond 并添加一个名为 MySolutionFolder 的解决方案文件夹。添加上面 1 中的 Standard.Project.cproj(两个版本)。slnSecond 将编译

  2. 将 MSTest .NET Core 控制台应用程序添加到 slnSecond。然后“添加引用”> 使用 2 中添加的内容进行项目。

如果引用是 1b) 它将无法编译。所以基本上你需要保持文件夹结构平坦。希望这个问题能够得到解决。