Tout à coup, les erreurs suivantes apparaissent pour 3 projets dans la solution:
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.
Dans le projet, seules quelques modifications ont été apportées à la base de données, mais n’avons jamais eu de problèmes par le passé. Seule autre chose que j'ai mise à jour vers Visual Studio 2017 15.5, est-ce que cela pourrait poser problème?
J'ai essayé - enlever et recloner la solution du contrôle de source. Mais toujours obtenir une erreur. Pas de problèmes sur les machines de mes collègues, donc ça doit être quelque chose de local.
Exemple d'un des fichiers .csproj si cela vous aide:
<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>
Pour moi, le boîtier du fichier de projet sur disque ne correspond pas à celui du fichier de solution.
Disons que j'avais une solution avec LibraryA.csproj
et LibraryB.csproj
, où LibraryB.csproj
a une référence à LibraryA.csproj
. Avoir un boîtier incorrect pour LibraryA.csproj
dans le fichier de solution causerait NU1105
lors de la construction LibraryB.csproj
:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibraryA", "LibraryA\Librarya.csproj", "{24DEBB3B-762A-491D-8B83-6D078C0B30C0}"
J'ai commencé à voir ce problème après la mise à niveau vers la version 15.5 de Visual Studio 2017. Je n'ai pas rencontré ce problème avec la version 15.4.5.
J'ai également obtenu la même chose après la mise à niveau vers la version 15.6 de Visual Studio 2017.
Fermer VS et supprimer le dossier .vs l’a corrigé.
Ce message d'erreur se produira également si un projet référencé n'est pas inclus dans la solution. J'ai rencontré ce problème aujourd'hui et j'ai trouvé le correctif ici .
Il semble que certains projets aient été supprimés du fichier de solution (je ne sais pas pourquoi). Corrigé en annulant ces modifications du fichier de solution
J'ai rencontré cette erreur lors de la duplication d'une référence à un projet.
<ProjectReference Include="..\ProjectA.csproj" />
<ProjectReference Include="..\ProjectA.csproj" />
Supprimer la référence en double a résolu l'erreur.
Ce qui a fonctionné pour moi a été de
J'ai la structure de projet suivante (projets .Net Core):
../classLib
../../../webProject1
../../../webProject2
../../myWebProjects.sln
webProject1
et webProject2
référence classLib
comme projet lui-même (pas comme .dll
). Lorsque j'ai ouvert ma solution dans VS 2019 et que j'ai essayé de le construire, je suis devenu identique error NU1105: Unable to find project information for '../classLib.csproj'.
Erreur.
Avant de construire des projets dépendants, vous devez restaurer leur dépendance. Ce que j’ai fait, ajoutez simplement Target
à mon webProject1.csproj
et webProject2.csproj
des dossiers.
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command="dotnet restore" />
</Target>