Enfin, j'ai trouvé la solution. Merci pour l'open source de ASP.NET vNext, j'ai trouvé le code source de la commande "restore".
Au cours du processus de restauration, la restauration commande essaie de trouver le dossier « racine » du projet par cette méthode:
public static string ResolveRootDirectory(string projectDir)
{
var di = new DirectoryInfo(projectDir);
while (di.Parent != null)
{
if (di.EnumerateFiles("*.global.json").Any() ||
di.EnumerateFiles("*.sln").Any() ||
di.EnumerateDirectories("packages").Any() ||
di.EnumerateDirectories(".git").Any())
{
return di.FullName;
}
di = di.Parent;
}
return Path.GetDirectoryName(projectDir);
}
car le dossier HelloMvc n'a pas ces fichiers ou dossier de paquets, ainsi le dossier parent de HelloMvc sera le dossier racine.
Le dossier racine est important car nous devons copier le fichier "NuGet.config" dans le dossier racine. Le NuGet.config indique la source du paquet de "AspNetVNext", donc les assemblages de asp.net vNext peuvent être trouvés. pour moi
<configuration>
<packageSources>
<add key="AspNetVNext" value="https://www.myget.org/F/aspnetvnext/" />
<add key="NuGet.org" value="https://nuget.org/api/v2/" />
</packageSources>
<packageSourceCredentials>
<AspNetVNext>
<add key="Username" value="aspnetreadonly" />
<add key="ClearTextPassword" value="4d8a2d9c-7b80-4162-9978-47e918c9658c" />
</AspNetVNext>
</packageSourceCredentials>
</configuration>
, je crée un dossier packages dans mon dossier HelloMvc et copié le NuGet.config dans le dossier HelloMvc. Ainsi, le dossier HelloMvc lui-même est le dossier racine et NuGet.config est en position, le kpm restore
a réussi.
Merci - J'ai aussi été bloqué pendant un certain temps avant de lire ceci!Trouvé quelque chose de similaire ici - https://github.com/aspnet/KRuntime/issues/192 – Sornakumar
Sweet! Merci pour cette résolution. J'ai fini par mettre NuGet.config dans un dossier au-dessus de moi dans mon répertoire - c: \ mk \ dev \ vnext. et toutes les applications actuellement dans les sous-dossiers ci-dessous. – mikekidder