突然之间,我在一个解决方案中收到了 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.csproj
和 LibraryB.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/