NuGet-fel NU1105

Scenario 1:

Det går inte att läsa projektinformation för "ProjectFile". Projektfilen kan vara ogiltig eller saknas mål som krävs för återställning.

Problematik

Projektfilen finns men ingen återställningsinformation har angetts för den. Se till att du öppnar ett projekt med det nya projektsystemet eller det äldre projektsystemet.

Lösning

kommandorad

Från kommandoraden kan det innebära att filen är skadad eller att den NuGet.targets inte importeras. Om du vill importera NuGet.targetsrekommenderar vi vanligtvis att du importerar Microsoft.Common.targets. Så här återställer du projekt i lösningen med hjälp av .NET CLI :

dotnet restore MySolution.sln

Visual Studio

I Visual Studio kan felet innebära att målen inte importeras liknande kommandoradsscenariot.

Felet kan också innebära att projektet tas bort.

  • Om du använder Visual Studio 2019 eller senare kan NuGet återanvända artefakter från den tidigare återställningen för borttagna projekt. För att det här scenariot ska fungera måste du se till att alla projekt som för närvarande finns i lösningen har återställts från kommandoraden innan de läses in i Visual Studio.

  • Du kan också läsa in projektet igen.

Scenario 2

Ogiltigt målramverk "net.6.0"

Problematik

Projektfilen finns men anger ett ogiltigt målramverk: 'net.6.0'. Detta kan inträffa på grund av ett stavfel eller ett format som inte stöds.

Lösning

Uppdatera projektfilen så att den använder ett giltigt målramverk. I det här fallet ersätter du 'net.6.0' med 'net6.0' (utan den extra punkten). En fullständig lista över ramverk som stöds och deras korrekta format finns i dokumentationen om .NET Target Frameworks .

Scenario 3

Det går inte att hitta projektinformation för ProjectFile. Om du använder Visual Studio kan det bero på att projektet har inaktiverats eller inte ingår i den aktuella lösningen, så kör en återställning från kommandoraden. Annars kan projektfilen vara ogiltig eller saknas mål som krävs för återställning.

Problematik

Ett projekt refererar till ett annat projekt (till exempel via ett <ProjectReference>) som inte ingår i den aktuella lösningen. NuGet kan inte hitta återställningsinformationen för det refererade projektet eftersom den inte läses in som en del av lösningen.

Lösning

kommandorad

Kör återställningen från kommandoraden och rikta in dig på lösningsfilen eller projektfilen direkt:

dotnet restore MySolution.sln

Att köra återställning från kommandoraden fungerar även när inte alla projekt läses in, eftersom det läser projektfiler direkt i stället för att förlita sig på lösningens inläsningstillstånd.

Visual Studio

  • Lägg till projektet som saknas i den aktuella lösningen och läs sedan in lösningen igen eller kör återställningen igen.
  • Om du avsiktligt utesluter projektet från lösningen kör du en kommandoradsåterställning för lösningen en gång innan du förlitar dig på Visual Studio inbyggda återställning. Visual Studio kan sedan återanvända återställningsartefakterna för det exkluderade projektet.