突然之间,我在解决方案中的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>
答案 0 :(得分:52)
升级到Visual Studio 2017版本15.6后,我也得到了同样的结果。
关闭VS并删除.vs文件夹为我修复了它。
答案 1 :(得分:12)
对我来说,磁盘上项目文件的外壳与解决方案文件中的外壳不匹配。
说我有一个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的这个问题。
答案 2 :(得分:6)
如果解决方案中未包含引用的项目,也会出现此错误消息。我今天遇到了这个问题,并且找到了解决方法here。
答案 3 :(得分:3)
似乎从解决方案文件中删除了一些项目(不知道为什么)。通过撤消这些解决方案文件更改进行了修复
答案 4 :(得分:3)
我遇到了这个问题,我只是按照 VS 中的错误消息建议的操作:恢复解决方案。 所以我 chdir 进入包含解决方案(.sln)文件的目录并刚刚发布
C:> dotnet 恢复
问题已修复。
答案 5 :(得分:2)
重复引用项目时遇到此错误。
<ProjectReference Include="..\ProjectA.csproj" />
<ProjectReference Include="..\ProjectA.csproj" />
删除重复的引用即可解决该错误。
答案 6 :(得分:2)
对我有用的是
答案 7 :(得分:1)
我最近在Linux上使用JetBrains Rider时遇到了错误NU1105。因此,这涉及Mono及其随附的MSBuild版本。
事实证明,这是由于我的解决方案文件位于目录中的,该目录是到另一个目录的符号链接。我相信MSBuild会取消引用链接目录,而是引用源目录。即使它们是完全相同的文件,大小写或其他所有内容,这也会使某些引用的路径完全不同。现在,从原来的位置打开解决方案对我来说非常完美。
答案 8 :(得分:1)
重新加载导致问题的项目,这将解决问题,
如以下链接所述:
https://docs.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu1105
答案 9 :(得分:0)
我有下一个项目结构(.Net Core项目):
../classLib
../../../webProject1
../../../webProject2
../../myWebProjects.sln
webProject1
和webProject2
引用classLib
作为项目本身(而不是.dll
)。当我在VS 2019中打开解决方案并尝试构建时,出现了相同的error NU1105: Unable to find project information for '../classLib.csproj'.
错误。
在构建依赖项目之前,您需要恢复那里的依赖。我所做的只是添加
Target
和webProject1.csproj
文件中的下一个webProject2.csproj
。
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command="dotnet restore" />
</Target>
答案 10 :(得分:0)
我收到此错误错误NU1105:无法找到'C:\ folder2 \ project1.csproj'的项目信息。 但是我作为解决方案一部分的project1位于C:\ folder1 \ project1.csproj(它也位于c:\ folder2 \ project1.csproj中,但不是解决方案的一部分,因此令人困惑) 一旦将引用更改为项目的正确位置,便可以使用。
答案 11 :(得分:0)
我只需运行“干净解决方案”选项即可纠正此错误。 在解决方案资源管理器中右键单击解决方案,然后选择干净的解决方案。