Visual Studio 2017错误:找不到“”的项目信息,这可能表明缺少项目引用-使用Console App .NET Core 2.1

时间:2018-08-01 06:34:37

标签: c# .net-core .net-standard

  • VS 15.7.5

我有一个.NET Standard 2.0类库:

enter image description here

它存在于自己的解决方案中,但是我现在将其添加到其他解决方案中,以便可以与.NET Core 2.1 Console测试运行程序一起使用:

enter image description here

但是,一旦执行此操作,我就会收到错误消息。如果我删除控制台应用程序,则所有内容都会正确编译。

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

4 个答案:

答案 0 :(得分:5)

我只是想复制您所做的,并且对我有用!

我的.net 2标准 enter image description here

只有一个班级

 public class School
    {
        public string Name => "Mango Hill";
    }

还有我的.net core 2.1项目

enter image description here

从库中调用类 enter image description here

您可以看到输出。 因此,我建议您检查公共项目以查看其是否引用了任何完整的库,然后尝试隔离这些引用。

答案 1 :(得分: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
  1. 创建第二个解决方案slnSecond并添加一个名为MySolutionFolder的解决方案文件夹。从上述1(两个版本)添加Standard.Project.cproj。 slnSecond将编译

  2. 向slnSecond添加一个MSTest .NET Core控制台应用程序。然后,使用添加在2中的内容进行“添加参考”>项目。

如果参考为1b),则不会编译。因此,基本上,您需要保持文件夹结构平坦。希望这个问题可以解决。

答案 2 :(得分:2)

只需尝试使用Dotnet CLI 2.1版本运行“ build”或“ restore”命令。在命令窗口中

  

c:\ path> dotnet恢复[.net core 2.1控制台] .csproj

如果使用Visual Studio切换TargetFramework,可能需要执行一次。 从.net core 2.0到2.1或相反

如果可以从dotnet CLI命令“ build”构建控制台项目。并且您仅在Visual Studio中收到此错误。

请尝试使用dotnet“ sln”和“ add”命令创建解决方案以引用项目。

答案 3 :(得分:0)

这是我从git中使用空格“%20”克隆路径时发生的。删除空格后,它在Visual Studio 2017中构建时没有问题。有趣的是,我在JetBrains Ryder中遇到了相同的问题,但是在命令行中却没有( dotnet build )。