Asp.net core Visual Studio 2017错误:找不到“的项目信息”&引用;这可能表示缺少项目引用

Asp.net core Visual Studio 2017错误:找不到“的项目信息”&引用;这可能表示缺少项目引用,asp.net-core,visual-studio-2017,Asp.net Core,Visual Studio 2017,刚刚从MSDN网站安装了Visual Studio 2017(完整版本)。 创建了一个新的Asp.Net核心Web应用程序(.Net Framework),选择了.Net Framework 4.6。项目名称=“WebApplicationWithTemplate” 在选择.Net framework 4.6的情况下,再次添加了另一个类库(.Net标准)类型的项目。项目名称=“DataAccessRegular” 接下来,我尝试将类库项目的引用添加到Asp.Net核心web应用程序,但出现以下错

刚刚从MSDN网站安装了Visual Studio 2017(完整版本)。 创建了一个新的Asp.Net核心Web应用程序(.Net Framework),选择了.Net Framework 4.6。项目名称=“WebApplicationWithTemplate”

在选择.Net framework 4.6的情况下,再次添加了另一个类库(.Net标准)类型的项目。项目名称=“DataAccessRegular”

接下来,我尝试将类库项目的引用添加到Asp.Net核心web应用程序,但出现以下错误:

找不到“E:\Development\VS2017Solution\DataAccessRegular\DataAccessRegular.csproj”的项目信息这可能表示缺少项目引用。WebApplicationWithTemplate C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Sdk\Microsoft.NET.Sdk\build\Microsoft.NET.Sdk.92

还创建了类库(.net core)项目[在上面的屏幕截图中未显示],并将其引用添加到asp.net core项目,但仍会收到相同的错误

也读了,但不幸的是没有发现它的帮助


问这个问题的目的是因为我想将模型、服务和数据访问层保留在一个单独的项目中。

要解决这个问题,请在类库的
csproj
中,将
netstandard1.4
更改为
net46
netstandard1.4;net46

请注意,如果指定了多个目标,则元素应更改为复数TargetFrameworks,而不是TargetFramework()

您看到的是来自
类库(.NET标准)
模板实际针对.NET标准(
netstandard1.4
),而不是目标框架下拉列表中的选择。使用
类库(.netframework)
模板也可以

更新:

其他选择:


  • 将web应用程序更改为target
    .netframework4.6.1
    (这将允许引用target
    netstandard1.4
    的内容
  • 将类库更改为target
    netstandard1.3
    (这将允许从以
    .netframework4.6
    为目标的项目中引用它)

我们还跟踪改进了这些问题出现的方式,以及存储在中的引用项目路径。csproj区分大小写!因此,请注意,并检查您是否有正确大小写的正确路径!要执行此操作:

  • 右键单击项目
  • 选择编辑

  • Check
    我纠正了我的错误,将引用添加为项目引用和浏览引用,从而解决了这个问题

    因此,程序集被引用了两次——直接作为程序集引用,间接作为包含项目的输出引用


    当我删除浏览引用并仅保留项目引用时,它被清除。

    在删除nuget包(我自己构建的)后,我遇到了这个问题从解决方案中删除引用类,然后将其替换为生成包的项目的项目引用。问题的解决方案…?关闭VS并重新打开它。

    我有同样的问题,并从程序集中删除引用类,然后解决此问题。

    重命名项目和文件夹时出现此问题(使用
    .csproj
    文件)。我在两个项目上执行了
    dotnet还原
    ,出现了此错误(在重命名之前和我添加了对“新”重命名项目的引用之后,都引用了该项目)然后成功构建解决方案。

    如果您错误地引用了dll并引用了项目 您将看到解决方案资源管理器的“引用/程序集”节点也包含.dll。您可以在“引用的项目”下查看相同的命名项目。 如果需要引用项目,请从程序集中删除contains.dll;如果只需要引用contains.dll,请删除项目


    在我的例子中,我刚刚从引用/程序集列表中删除了程序集。

    如果您已将dll引用添加到程序集,并在依赖项中添加为项目引用,那么您将面临此问题(许多可能的原因之一)

    您只需要从依赖项的汇编部分删除引用

    检查以下内容:

    在我的例子中,在项目A中有一个项目B项目引用,其中包括一个从项目C构建的NuGet包,该包也是项目A中的一个项目引用。解决方案是将NuGet引用更改为项目引用。

    在重命名项目(文件/文件夹/…)后,我就这个问题花了一天时间

    所有给出的答案都没有帮助。VS重新启动、完全清理/重建……我甚至在任何解决方案文件(使用VS和Powershell)中查找任何提及违规引用的内容,但没有弹出任何内容,但错误仍然存在

    最后,我通过VPN连接到我们的Nuget服务器所在的办公室(我在家工作)解决了这个问题。奇怪的是,没有下载任何软件包(因为它们都已脱机可用),但问题得到了解决


    检查与Nuget服务器的连接是否存在问题。我不知道原因,但它已为我解决了问题。

    我从项目的.csproj文件中删除了此标记,该文件是错误的来源

    <ItemGroup>
        <Reference Include="MyIntegration">
          <HintPath>..\MyIntegration\bin\Debug\netstandard2.0\MyIntegration.dll</HintPath>
        </Reference>
      </ItemGroup>
    
    
    ..\MyIntegration\bin\Debug\netstandard2.0\MyIntegration.dll
    
    注意:我选择了此.dll的“浏览”引用,它将以前的代码添加到我的.csproj中。已删除,错误消失

    仅供参考,每次您从依赖项中选择新的项目引用时,
    行都会添加到.csproj中,更改为“netstandard1.4;net46”效果良好-非常感谢!更改web应用程序