突然之间,我在一个解决方案中收到了 3 个项目的以下错误:

Error NU1105 Unable to find project information for 'C:\code\example\src\libs\example.I18n\example.I18n.csproj'.
The project file may be invalid or missing targets required for restore.
项目中唯一改变的是一些数据库更改,但我过去从未遇到任何问题。唯一的另一件事是我更新到了 Visual Studio 2017 15.5。这会导致问题吗?
我尝试从源代码管理中删除并重新克隆解决方案,但仍然出现错误。在我同事的机器上没有问题,所以它必须是本地的。
.csproj 文件之一的示例(如果有帮助):
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net452</TargetFramework>
    <AssemblyName>Example.I18n</AssemblyName>
    <PackageId>Example.I18n</PackageId>
    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="1.1.2" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="1.1.1" />
    <PackageReference Include="MessageFormat" Version="1.0.1" />
  </ItemGroup>

  <ItemGroup Condition=" '$(TargetFramework)' == 'net452' ">
    <Reference Include="System" />
    <Reference Include="Microsoft.CSharp" />
  </ItemGroup>

</Project>

最佳答案

对我来说,磁盘上项目文件的大小写与解决方案文件中的大小写不匹配。

假设我有一个 LibraryA.csprojLibraryB.csproj 的解决方案,其中 LibraryB.csproj 引用了 LibraryA.csproj 。在构建 LibraryA.csproj 时,解决方案文件中 NU1105 的大小写不正确会导致 LibraryB.csproj :

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibraryA", "LibraryA\Librarya.csproj", "{24DEBB3B-762A-491D-8B83-6D078C0B30C0}"

升级到Visual Studio 2017 15.5版后开始看到这个问题,15.4.5版没有遇到这个问题。

关于visual-studio - 错误 NU1105 无法找到项目信息 - 项目文件可能无效或缺少还原所需的目标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47695504/

10-17 02:17