当我在 Visual Studio 2015 中按 F12 (转到定义) 时,我会收到以下错误信息:
发生了一个或多个错误
我已经尝试过:
- 关闭解决方案
- 删除 .suo 文件
- 重新构建解决方案
但这没能解决问题。
请帮忙解决。
当我在 Visual Studio 2015 中按 F12 (转到定义) 时,我会收到以下错误信息:
发生了一个或多个错误
我已经尝试过:
但这没能解决问题。
请帮忙解决。
当尝试访问外部程序集的元数据时,使用C#和制表符而不是空格会出现问题。这可能与插入点的推断位置有关。
有一些Connect票据在这里和这里,以及一个Github问题。此外,这里有一个讨论。
此问题已在Update 1中解决,请安装!
选项对话框会记住最后一页,并在随后打开时保留在那里。我有一个快捷键可以快速打开选项窗格(Alt + o)。我暂时改为使用空格,转到定义,然后在进行任何代码更改之前恢复到制表符。这个工作流程并不美观,但VS2015中的Nuget 3.0问题也不美观(至今已经得到改进)。
VS 2015 Update 1 可以解决这个问题。
我制作了一个扩展,它可以在每次调用 "GoToDefinition" 命令时简单地启用/禁用 "保留标签" 功能,并且似乎有效:GoToDefinition Fix
Thread.Sleep()
,但在某些情况下,即使等待5秒也不够。所以,我还没有找到一个简单的解决方案。 - D. Nesterov我发现,如果你在 选项 -> 文本编辑器 -> 所有语言 -> 制表符 下设置了 保留选项卡,并且在C#下也是这样的,那么F12和Alt + F12就可以正常使用了。
现在Visual Studio的漏洞已经修复,这个hack已经没有用了。我将它保留在这里,以防它作为一个样本对于解决类似问题的黑客行为有用。
AutoHotKey来拯救我们了! 不断地与键盘用户体验的恶劣现象作斗争。
以下是如何设置一个脚本,将 Ctrl+F12 绑定到一个键序列,该键序列设置空格缩进、跳转到定义,然后恢复制表符缩进。使用它代替 F12 来查看代码库外的定义:
FixF12.ahk
的文件。将下面的脚本粘贴到其中。shell:startup
来到达此处。FixF12.ahk
到 Startup
并创建一个快捷方式。FixF12.ahk
脚本:
#NoEnv
SendMode Input
^F12::
WinGetActiveTitle Title
IfInString Title, Microsoft Visual Studio
{
Send, ^QC{#} tabs{Enter}
Sleep, 300
Send, !p
Sleep, 300
Send, {Enter}
Send, {F12}
Send, !tO
Sleep, 300
Send, !k
Sleep, 300
Send, {Enter}
}
else
{
Send, {^F12}
}
这个脚本是一个黑客工具,带有闪烁的对话框和竞争条件,但它能够完成工作。不要忘记给Connect中的错误报告点赞。希望在更新1之前,微软会发布一个修复程序。