加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-core – 运行kpm restore时无法找到Microsoft.AspNet.Se

发布时间:2020-12-16 03:35:05 所属栏目:asp.Net 来源:网络整理
导读:我将HelloMvc项目文件夹复制到另一个文件夹“Ricky”并运行kpm restore,我得到了以下输出: 我不知道出了什么问题. “kpm restore”在其原始文件夹中成功运行,该文件夹是从asp.net/home存储库中克隆的. 解决方法 最后我想出了解决方案.感谢ASP.NET vNext的开
我将HelloMvc项目文件夹复制到另一个文件夹“Ricky”并运行kpm restore,我得到了以下输出:

我不知道出了什么问题. “kpm restore”在其原始文件夹中成功运行,该文件夹是从asp.net/home存储库中克隆的.

解决方法

最后我想出了解决方案.感谢ASP.NET vNext的开源,我找到了“ restore”命令的源代码.

在还原过程中,restore命令尝试通过以下方法找出项目的“根”文件夹:

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);
}

因为HelloMvc文件夹没有那些文件或包文件夹,所以HelloMvc的父文件夹将是根文件夹.

根文件夹很重要,因为我们需要将“NuGet.config”文件复制到根文件夹. NuGet.config指示“AspNetVNext”的包源,因此可以找到asp.net vNext的程序集.

<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>

对于我自己,我在HelloMvc文件夹中创建了一个packages文件夹,并将NuGet.config复制到HelloMvc文件夹中.因此HelloMvc文件夹本身是根文件夹,NuGet.config就位,kpm恢复成功.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读