为标题道歉,但我甚至难以定义这里发生的事情。
我有一个带行
的程序long svnSuccess = SVNCommands.GetSVNHeadRevNo(svnLocation);
SVNCommands是一个静态类。
如果我在上面的行上放置一个断点,然后F11(步入)来观察SVNCommands中代码的执行它只是......没有。行为就像一个无限循环。该计划不会以任何方式崩溃。它只是停止继续。 VS没有带我去SVNCommands.GetHSVNHeadRevNo。我甚至在该功能开始时都有断点(只是为了证明它没有在没有意识到的情况下到达那里)并且它们没有被触及。
关于这里可能发生什么的任何想法?
答案 0 :(得分:0)
尝试在GetSVNHeadRevNo中添加System.Diagnostics.Debugger.Break()并运行该程序而不进行调试。它应该询问您是否要调试并希望命中代码。我不知道为什么你的调试器不工作。如果SVNCommands在一个与您的调试文件不匹配的程序集中,它会给您一个警告。
如果不起作用,请尝试删除Visual Studio Cache。据我所知,这解决了许多无法解释的问题。尝试使用How do you clear your Visual Studio cache on Windows Vista?
中的答案答案 1 :(得分:0)
对我来说有点奇怪的修复 - 可能与其他人无关。
Dev机器是64位,但最终用户机器是32位。
这一般都很好,但我们只有32位SharpSVN dll。一切都按预期工作,直到我们跳入解决方案设置并将目标平台从“x86”更改为“任何CPU”。然后,在64位开发机器上进行测试,一进入该功能,目前看起来像这样:
public static long GetSVNHeadRevNo(string svnLocation)
{
using (SvnClient client = new SvnClient())
{
setupAuthentication(client);
SvnInfoEventArgs info = null;
Uri repos = new Uri(svnLocation);
try
{
client.GetInfo(repos, out info);
}
catch (Exception ex)
{
}
return info.Revision;
}
}
我想程序试图吸入所需的DLL,然后(安静)适合。
将目标平台更改回x86已解决所有问题。感谢所有帮助过的人。