Visual studio 2010 TFS API DownloadFile()函数在调试时导致异常

Visual studio 2010 TFS API DownloadFile()函数在调试时导致异常,visual-studio-2010,tfs-sdk,Visual Studio 2010,Tfs Sdk,每当我调用Item.DownloadFilestring localFileName或VersionControlServer.DownloadFilestring serverPath,string localFileName时,每当我尝试在Visual Studio中调试时,我都会收到一个FileNotFoundException:找不到文件“C:[项目路径]\bin\debug\[ProjectName].vshost.exe.config” 当我构建应用程序并在VisualStudio外

每当我调用Item.DownloadFilestring localFileName或VersionControlServer.DownloadFilestring serverPath,string localFileName时,每当我尝试在Visual Studio中调试时,我都会收到一个FileNotFoundException:找不到文件“C:[项目路径]\bin\debug\[ProjectName].vshost.exe.config”

当我构建应用程序并在VisualStudio外部运行它时,调用这些函数没有问题。它工作得非常好。有人知道是什么引起的吗

在您询问之前,不,该文件不存在。我没有对配置文件做任何事情,我不需要也不希望它存在。我不明白为什么在我调试时它甚至试图访问那个文件。当我在visual studio之外运行应用程序时,该.config文件仍然不存在,但我没有收到任何异常,因为它不尝试访问该文件

此外,这也不是vshost问题。当我取消选中启用Visual Studio宿主进程时,除了调试时,我会收到相同的异常,但文件名从[ProjectName].vshost.exe.config更改为[ProjectName].config


目前,当我想要调试这个项目时,我必须在每次调用DownloadFile之后放置一个MessageBox.Show函数,并在VisualStudio之外运行我的应用程序。当显示该MessageBox时,我可以使用attach to process并在该MessageBox之后的下一行上放置断点,单击MessageBox上的OK,然后它将捕获断点。但当我在循环中下载文件并想调试循环时,在调用DownloadFile后附加到进程,在调用下一个DownloadFile前停止调试,在调用DownloadFile后再次附加到进程,并整天重复这些操作,这是非常烦人和耗时的。

我不太确定,但它似乎与当前路径和下载文件的工作区有关

如果未显式指定工作区,TFS API将通过查看该路径是否在工作区中声明为映射,尝试从应用程序的当前路径确定该工作区

如果我没记错的话,您可以从工作区对象下载一个项目,或者在操作中指定工作区,尝试修改代码以实现这一点,看看是否更好


您还可以尝试将调试会话的当前路径更改为工作区内的某个路径

我不完全确定,但它似乎与当前路径和下载文件的工作区有关

如果未显式指定工作区,TFS API将通过查看该路径是否在工作区中声明为映射,尝试从应用程序的当前路径确定该工作区

如果我没记错的话,您可以从工作区对象下载一个项目,或者在操作中指定工作区,尝试修改代码以实现这一点,看看是否更好


您还可以尝试将调试会话的当前路径更改为工作区内的某个路径

下载文件与Get不同。Get需要一个工作区才能下载到。DownloadFile函数对工作区不起作用,您可以显式地将文件下载到的路径传递给它。DownloadFile与Get不同。Get需要一个工作区才能下载到。DownloadFile函数对工作区不起作用,您显式地将文件下载路径传递给它。您是否在Windows上激活了UAC?Visual Studio是否以管理员身份运行?不确定UAC是什么意思,但它确实以管理员身份运行。用户访问控制,Vista中引入的一项功能,用于以受限制的权限运行程序,并且在程序需要更多权限时可以提升。即使您使用管理员帐户登录,如果UAC被激活,您也将在某些操作上受到限制。要启动Visual Studio,请右键单击图标,然后选择“以管理员身份运行”。问题是Visual Studio的调试异常设置为在引发异常时中断,而不是在未处理异常时中断。所以DownloadFile正在抛出一个异常,但它正在处理它,所以您无法判断它是否被抛出。不幸的是,我的Visual Studio被设置为在抛出异常时中断,即使它已被处理。您是否在Windows上激活了UAC?Visual Studio是否以管理员身份运行?不确定UAC是什么意思,但它确实以管理员身份运行。用户访问控制,Vista中引入的一项功能,用于以受限制的权限运行程序,并且在程序需要更多权限时可以提升。即使您使用管理员帐户登录,如果UAC被激活,您也将在某些操作上受到限制。要启动Visual Studio,请右键单击图标,然后选择“以管理员身份运行”。问题是Visual Studio的调试异常设置为在引发异常时中断,而不是在未处理异常时中断。所以DownloadFile正在抛出一个 异常,但它正在处理它,所以您无法判断它是否被抛出。不幸的是,我的VisualStudio被设置为在抛出异常时中断,即使它已被处理。