gpt4 book ai didi

visual-studio-2010 - 使用 VS 2010 和 FindRibbons 构建错误

转载 作者:行者123 更新时间:2023-12-01 00:57:47 30 4
gpt4 key购买 nike

我有 VS 2010、2012 和 2013。我从 svn 获得了一个现有项目,所以它以前从未出现在我的机器上。当我尝试编译时,出现以下错误

The "FindRibbons" task could not be loaded from the assembly            
'Microsoft.VisualStudio.Tools.Office.BuildTasks,
Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. Confirm that the
<UsingTask> declaration is correct, that the assembly and all its dependencies are
available, and that the task contains a public class that implements
Microsoft.Build.Framework.ITask.

我发现了几个帖子提到要去

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\OfficeTools



, 打开 Microsoft.VisualStudio.Tools.Office.targets
并用我所做的 12.0.0.0 替换所有 10.0.0.0

但随后出现以下错误
The "FindRibbons" task has been declared or used incorrectly, or failed during construction. Check the spelling of the task name and the assembly name.

最佳答案

这很可能是 DLL Hell 问题,您在 GAC 中安装了错误版本的 Microsoft.VisualStudio.Tools.Office.BuildTasks.dll。它缺少 FindRibbons class .

对此有一个不错的解释,VS2012 的早期预览版部署了缺少该类的此 DLL 版本。讨论于 this MSDN forums thread .提出您已经尝试过的相同解决方法,而不是解决方案。否则,提醒您永远不要在完成工作所需的机器上安装测试版的 Visual Studio。

这个问题更加复杂,因为 MSDN 文档说该类仅适用于 VS2012 及更高版本,不适用于 VS2010。并且必须有一个 <bindingRedirect>安装 VS2013 后,将版本 10.0.0.0 和 11.0.0.0 转发到 12.0.0.0 的某个地方。不知道在哪里,我在我的机器上找不到它。

不用说,这几乎和 DLL Hell 一样糟糕。两种可能的解决方案:

  • Visual Studio 不再自动升级项目文件。但这就是你想要在这种情况下发生的事情,你会想要使用 VS2013 工具链。使用文本编辑器(记事本即可)编辑 .csproj 文件并更改 ToolsVersion属性为“12.0”。
  • 修复 GAC 并摆脱 DLL 的错误版本。您首先需要一个正确的版本,然后将其从另一台具有此 DLL 已知良好副本的机器上复制。您可以使用资源管理器找到它,导航到 C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.VisualStudio.Tools.Office.BuildTasks。你可能有多个子目录,我只有一个用于 VS2013。 12.0 子目录中的 DLL 日期为 8/7/2014,长度为 102,688 字节。您可以使用像 Reflector 或 ILSpy 这样的反编译器来仔细检查它是否包含 FindRibbons 类。

  • 如果这些都不起作用,那么绝望的举动是重新安装所有东西。修复损坏的原始来源仍然很重要,如果您确实在那台机器上有早期版本的 VS2012,则很难做到。运行 setup.exe/uninstall/force 确实倾向于摆脱它。祝你好运,从来没有一个有趣的问题需要解决。
    ——

    关于visual-studio-2010 - 使用 VS 2010 和 FindRibbons 构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26168813/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com