我有一个Visual Studio 2010解决方案,它是从一个无法在其中使用“查找所有引用”功能的Visual Studio 2008解决方案中导入的。我尝试在谷歌上搜索了一些内容来尝试解决这个问题,但是没有找到答案。
在VS2008中,“查找所有引用”功能可以完美地工作,我们升级到2010版本后,无论我在哪个文件中进行查找,都找不到任何引用。
是否有人知道如何修复这个问题,或者有什么好的方法来“调试”这个问题。
我有一个Visual Studio 2010解决方案,它是从一个无法在其中使用“查找所有引用”功能的Visual Studio 2008解决方案中导入的。我尝试在谷歌上搜索了一些内容来尝试解决这个问题,但是没有找到答案。
在VS2008中,“查找所有引用”功能可以完美地工作,我们升级到2010版本后,无论我在哪个文件中进行查找,都找不到任何引用。
是否有人知道如何修复这个问题,或者有什么好的方法来“调试”这个问题。
我想出了问题所在。 我仍在运行Web Deployment Project代码模板的Beta版本。 只需要卸载它并下载RTW版本,一切都正常了。
可能是框架与您的项目不匹配。
例如,假设您的项目是 F2.0
,而 VS10
提供了 F4.0
的引用。
在重置所有设置之前,请尝试以下方法...
我曾经遇到过类似的问题,并将其追踪到 obj\Refactor 文件夹中缺少 DLL。我编写了这个 VB 脚本(我将其保存为 reff.vbs,放在我的路径环境变量中的一个文件夹中),并从命令提示符中运行它。当“查找所有引用”或“重构 > 提取方法”失败时,请重新构建您的解决方案,然后运行此脚本:
'' reff.vbs ''
Dim refFile, wsh, objFSO
Set wsh = CreateObject("wscript.shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
RefactorFolders "c:\Source" '' Put your root source folder here
Set objOutputFile = objFSO.OpenTextFile("RefreshRefactor.bat", 8, True)
objOutputFile.WriteLine(refFile & "")
objOutputFile.Close
wsh.Run "RefreshRefactor.bat", 1, True
Set wsh = Nothing
Set objFSO = Nothing
Sub RefactorFolders(strFolder)
Set objFolder = objFSO.GetFolder(strFolder)
For Each SubFolder in objFolder.SubFolders
If Right(" " & SubFolder.Path, 9) = "\Refactor" Then
Set objBinFolder = objFSO.GetFolder(Left(SubFolder.Path _
, Len(SubFolder.Path) - 8))
Set files = objBinFolder.Files
For Each binFile In files
chk = Right(" " & binFile.Path, 4)
On Error Resume Next
If chk = ".exe" Or chk = ".dll" Or chk = ".pdb" Then
refFile = refFile & "copy /y """
refFile = refFile & binFile.Path & """ """
refFile = refFile & SubFolder.Path & "\"" "
refFile = refFile & vbCrLf
End If
On Error Goto 0
Next
End If
RefactorFolders SubFolder.Path
Next
Set objFolder = Nothing
End Sub
我没有遇到过这个具体的问题,但是我过去在 Visual Studio(2005/2008/2010)中遇到了一些奇怪的行为,通过对所有 VS 设置进行完全重置来解决了这些问题。
偶尔设置似乎会损坏,导致某些功能停止工作:
工具 -> 导入和导出设置 -> 重置所有设置
这可能有点冒险,但可以试试。
此外,this 文章详细介绍了“查找所有引用”在 2008 年和 2010 年之间的更改。我不确定这是否能进一步解决您的问题,但我认为值得一提。