【问题标题】:Nuget causing building problemsNuget导致建筑问题
【发布时间】:2016-04-18 09:23:52
【问题描述】:

我有一个项目 (NRefactory - https://github.com/icsharpcode/NRefactory) 但我无法构建解决方案。

这是我从 VS 得到的错误

严重性代码 描述 项目文件行 错误命令“C:\Users\Kavignon_Developer\Documents\GitHub Projects\GitHub - Open Source Projects\SummerOfCode_2015\\.nuget\NuGet.exe restore -SolutionDirectory ..”以代码 9009 退出。ICSharpCode.NRefactory6.CSharp C:\ Users\Kavignon_Developer\Documents\GitHub Projects\GitHub - 开源项目\SummerOfCode_2015\ICSharpCode.NRefactory.CSharp\ICSharpCode.NRefactory6.CSharp.csproj 599

来自一些帖子

  1. NuGet.exe install error 9009 - Downloaded Git repo won't build - mono--runtime=v4.0.30319

  2. nuget install exit code 9009

我发现我的 nuget 有问题或丢失了。在进入我的解决方案的 nuget 管理器后,nuget 建议修复我的解决方案中缺少的包。认为这是一个很好的选择,所以我说是的。问题是,它并没有改变这种情况。我已经重建并清理了解决方案,但它没有影响。

有些人可能会告诉我,我没有 nuget 可执行文件,但是没有它我怎么能安装 nuget 包呢?另外,通过windows中的搜索功能,我能够找到nuget的.exe。

这里应该做什么?我正在使用 Visual Studio 2015 CTP 6。我别无选择,因为我正在使用 VS 中的新功能。

【问题讨论】:

  • 在文本编辑器中打开 csproj 并转到第 599 行。这将是我怀疑的丢失文件
  • 基本上,如果我遇到这种特殊情况,只需要打开 csproj?你给的号码文件一,它有什么作用?它说 filenameX 应该在那里而不是,应该怎么做? @garryp
  • 这是我在第 599 行的内容:" " 虽然@garryp 我真的不明白该怎么做
  • 您是否尝试过运行对您在 OP 中提供的第一个链接的回复中给出的 poweshell 命令?还要确保您以管理员身份运行 VS。
  • 我建议更新到最新版本的 VS2015 - 即 RC。我遇到了 NuGet 问题并报告了一个问题 - 更新到 RC 后,问题得到了解决:stackoverflow.com/questions/29939947/…

标签: nuget visual-studio-2015


【解决方案1】:

这是一个老问题,但其他人在尝试解决 nuget 包构建集成问题时也会出现在此页面。

在扔毛巾之前,从命令提示符运行 nuget.exe 命令,就像您在项目文件夹中的项目文件中定义的那样

nuget pack ****.Common.csproj -Prop Configuration=Release

nuget.exe 会给你更详细的错误,在我的示例中问题 Bin\Release 文件夹丢失

MSBuild 自动检测:使用来自“C:\Program Files (x86)\MSBuild\14.0\bin”的 msbuild 版本“14.0”。 尝试从“*****.csproj”构建包。 找不到“C:\Repositories**********\bin\Release\ ****.Common.dll”。确保项目已构建。 这不会是所有错误的答案,但运行 nuget.exe 会让您更好地了解构建错误是什么

【讨论】:

    【解决方案2】:

    正如用户在 cmets (spike) 中提到的,NuGet 可执行文件中确实存在一个错误。它看起来像一个 borked 的 NuGet 安装。我发现摆脱这种情况的唯一方法是完全重新安装您的操作系统(请在您宝贵的数据之前保存),然后重新安装 Visual Studio 2015 RC 或更新版本的 Visual Studio。

    【讨论】:

    • 我使用了 Visual Studio 2015 RC 企业版。我不知道社区版是否有效。在我的工作站上再次安装 Visual Studio 花了很长时间,作为概念证明,我不想验证它是否也可以与其他版本一起使用。我会将此事交给 OP 和其他可能遇到同样问题的人。
    • 好吧,谢天谢地,我不必重新安装操作系统。我在源代码控制中有一个带有.nugetnuget.exe 的项目,并首先摆脱了它(方法如下:docs.nuget.org/consume/package-restore/…)——因为这是一种很好的做法,它确保不会调用旧版本的nuget.exe。然后我摆脱了所有本地 nuget 缓存(搜索 .nupkg 并清理整个文件夹)。在本地和 CI 服务器上都这样做了。然后我install-package --force 给出问题的包并注意到提示路径有额外的.0
    猜你喜欢
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    相关资源
    最近更新 更多