突然、ソリューションの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.
プロジェクトで変更されたのは、2、3のDBの変更だけですが、過去に問題は発生していません。 Visual Studio 2017 15.5に更新した他のものだけが、問題を引き起こす可能性がありますか?
私は試してみました-ソース管理からソリューションを削除して再クローン化します。しかし、まだエラーが発生しています。私の同僚のマシンには問題がないので、ローカルなものでなければなりません。
これが役立つ場合の.csprojファイルの1つの例:
<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" />
重複した参照を削除すると、エラーが解決しました。
私のために働いたのは
次のプロジェクト構造(.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
filesに追加するだけです。
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command="dotnet restore" />
</Target>