5 votes

Impossible de localiser le référentiel contenant le répertoire lors de la construction ou de la publication de dotnet

Je suis en train d'ajouter le support de Docker sur mon application ASP.NET Core 2.2 et pendant les tests des commandes pour Docker en local, j'ai trouvé que les dotnet publish -f netcoreapp2.2 -c Release -o out provoquent des erreurs.

./IdentityServer.sln

Projet("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IdentityServer", "IdentityServer\IdentityServer.csproj", "{A435DE31-3D1C-4228-BBD9-0157E849D07D}"
EndProject
Projet("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Dépendances", "Dépendances", "{0A7E3F1D-5162-463F-BAF8-714C7FD37B8C}"
EndProject
Projet("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IdentityServer4", "dépendances\identityserver4\src\IdentityServer4.csproj", "{3A32B19C-B6FC-4A2D-9421-5A16849B7C2A}"
EndProject
Projet("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IdentityServer4.AspNetIdentity", "dépendances\identityserver4.aspnetidentity\src\IdentityServer4.AspNetIdentity.csproj", "{0E36AE9A-B9B6-4E1C-B446-82A3265432F8}"
EndProject
Projet("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IdentityServer.Email", "IdentityServer.Email\IdentityServer.Email.csproj", "{BD699934-C404-4CF4-B77C-511E584D1754}"
EndProject

./IdentityServer/IdentityServer.csproj: https://gist.github.com/paulcsiki/4d3b827af418044dacea0149a2361b81

Résultat de dotnet restore dans le même dossier que la solution :

  Restauration terminée en 52.96 ms pour /Users/paul/docker/dépendances/identityserver4.aspnetidentity/src/IdentityServer4.AspNetIdentity.csproj.
  Restauration terminée en 52.96 ms pour /Users/paul/docker/dépendances/identityserver4/src/IdentityServer4.csproj.
  Restauration terminée en 54.56 ms pour /Users/paul/docker/IdentityServer/IdentityServer.csproj.
  Restauration terminée en 52.97 ms pour /Users/paul/docker/IdentityServer.Email/IdentityServer.Email.csproj.

Résultat de dotnet publish -f netcoreapp2.2 -c Release -o out dans le même dossier que la solution :

Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe pour .NET Core
Copyright (C) Microsoft Corporation. Tous les droits sont réservés.

  Restauration terminée en 44.29 ms pour /Users/paul/docker/dépendances/identityserver4/src/IdentityServer4.csproj.
  Restauration terminée en 44.3 ms pour /Users/paul/docker/IdentityServer.Email/IdentityServer.Email.csproj.
  Restauration terminée en 45.91 ms pour /Users/paul/docker/IdentityServer/IdentityServer.csproj.
  Restauration terminée en 44.3 ms pour /Users/paul/docker/dépendances/identityserver4.aspnetidentity/src/IdentityServer4.AspNetIdentity.csproj.
/Users/paul/.nuget/packages/microsoft.build.tasks.git/1.0.0-beta-63127-02/build/Microsoft.Build.Tasks.Git.targets(20,5): erreur : Impossible de localiser le répertoire contenant le dossier '/Users/paul/docker/dépendances/identityserver4/src'. [/Users/paul/docker/dépendances/identityserver4/src/IdentityServer4.csproj]
  IdentityServer.Email -> /Users/paul/docker/IdentityServer.Email/bin/Release/netcoreapp2.2/IdentityServer.Email.dll
  IdentityServer.Email -> /Users/paul/docker/IdentityServer.Email/bin/Release/netcoreapp2.2/IdentityServer.Email.Views.dll
  IdentityServer.Email -> /Users/paul/docker/IdentityServer.Email/out/

J'ai essayé d'exécuter les commandes de restauration et de publication depuis le dossier WebApp (Users/paul/docker/IdentityServer) et j'obtiens le même résultat.

Résultat de la commande file Users/paul/docker/dépendances/identityserver4/src/IdentityServer4.csproj :

Users/paul/docker/dépendances/identityserver4/src/IdentityServer4.csproj : texte du document SGML exporté, texte Unicode UTF-8 (avec BOM)

7voto

Paul Points 381

Le problème était que j'avais fait référence à un projet appelé IdentityServer4 qui avait une référence au package NuGet Sourcelink qui cherchait le dossier .git. En enlevant la référence au package, le problème a été résolu.

2voto

WoIIe Points 822

Je confirme la solution de @Paul. J'ai modifié le fichier .csproj et j'ai supprimé la référence au package Microsoft.SourceLink.GitHub:

-1voto

Ghadir Farzaneh Points 41

Outils -> Options -> Contrôle de la source -> Plug-in de contrôle de la source actuel : Aucun

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X