突然之间,我在解决方案中的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 2017的15.6版后,我也得到了同样的结果。
关闭VS并删除.vs文件夹为我修复了它。
如果解决方案中未包含引用的项目,也会出现此错误消息。我今天遇到了这个问题,我找到了修复here。
似乎某些项目已从解决方案文件中删除(不知道原因)。通过撤消这些解决方案文件更改来修复
在对项目进行重复引用时遇到此错误。
<ProjectReference Include="..\ProjectA.csproj" />
<ProjectReference Include="..\ProjectA.csproj" />
删除重复的引用解决了错误。
对我有用的是