ASP.NET vNext包还原无法正常工作

时间:2015-01-26 13:24:45

标签: nuget visual-studio-2015 asp.net-core

我在家中检查了我的新vNext项目到TFS,它工作正常。

然后我去上班(代理等公司环境)并获得最新信息。它把我的项目拉下来,我解决了这个问题。

我做了一个构建而且它失败了。原因是它没有恢复我的nuget包。

  • 我已经尝试过编辑project.json文件,它说保存后恢复成功,但不是。

  • 我尝试过获取新的nuget包,它说成功并添加了引用,但它说它丢失了(感叹号)。

  • 我尝试以管理员身份运行VS 2015。

  • 我尝试手动创建..users / me / .kpm / packages文件夹。 (这是我认为包下载到的地方)

  • 我尝试过不同的代理。

我可以在nuget中查看包,我也在.json文件中获得了很好的intellisense。这让我觉得它不是代理问题。

这些都没有奏效。还有其他想法吗?

附录

project.json

{
    "webroot": "wwwroot",
    "version": "1.0.0-*",
    "exclude": [
        "wwwroot"
    ],
    "packExclude": [
        "node_modules",
        "bower_components",
        "**.kproj",
        "**.user",
        "**.vspscc"
    ],
    "dependencies": {
        "Microsoft.AspNet.Server.IIS": "1.0.0-beta2",
        "Microsoft.AspNet.Mvc": "6.0.0.0-beta2"
    },
    "frameworks": {
        "aspnet50": { },
        "aspnetcore50": { }
    }
}

enter image description here

3 个答案:

答案 0 :(得分:3)

好的,我得到了它的工作,非常感谢@Victor Hurdugaci帮助我。

我解决这个问题的步骤如下: -

  • 将kpm添加到路径,对于我,我在此处找到它:C:\Users\MyUser\.kre\packages\KRE-CLR-x86.1.0.0-beta2\bin(您可能需要检查项目属性以查看您需要的版本,我不确定是否重要)
  • 打开一个cmd(确保在添加到路径之前关闭它)
  • cd到项目文件夹(project.json的位置)
  • 运行kpm restore -p http:yourproxyurl:1234(其中yourproxyurl是您的代理地址,1234是您的端口)

此时它已将大量下载的好处加入C:\Users\MyUser\.kpm\packages 我回到了Visual studio并进行了构建,它仍然失败了。

作为最后一步,我必须打开project.json文件,只需保存即可,甚至不做任何更改。此时我的参考资料已更新,一切都很好,然后会成功构建。

答案 1 :(得分:0)

当我的nuget包源中存在无法访问的服务器地址时,我在恢复包时遇到了类似的问题。在这种情况下,取消选中我的包源中无法访问的服务器就可以了。

这种行为对我来说似乎是个错误。它在一个无法访问的服务器上保持失败,并且无法尝试使用另一个官方nuget服务器恢复软件包。这也导致凉亭包的恢复失败。

答案 2 :(得分:0)

我正在使用beta8开发,我不得不在测试版之间跳过几次,对我有用的最佳解决方案是为VNext包添加新的提要:

  • www.myget.org/F/aspnetmaster/api/v2 / 此Feed包含 发布每个里程碑的软件包版本,例如, 1.0.0-的α4。
  • www.myget.org/F/aspnetvnext/api/v2 / 此Feed包含带有内部版本号的每晚开发包,例如, 1.0.0-beta1-10435。

更新新的订阅源后,我打开并保存我的项目文件“project.json”,引用自行更新。

如果您需要知道如何在Windows或* Nix计算机上添加此新Feed,请查看下一篇文章: https://github.com/aspnet/Home/wiki/Configuring-the-feed-used-by-dnu-to-restore-packages

关于dnx项目的一般性文章非常有用: http://docs.asp.net/en/latest/dnx/projects.html