2

每当我调用 Item.DownloadFile(string localFileName) 或 VersionControlServer.DownloadFile(string serverPath, string localFileName) 时,每当我尝试在 Visual Studio 中调试时都会收到 FileNotFoundException:找不到文件 'C:[Project Path]\bin\Debug\ [项目名称].vshost.exe.config'。

当我构建应用程序并在 Visual Studio 之外运行它时,调用这些函数没有问题。它工作得很好。有谁知道可能是什么原因造成的?

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

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

目前,当我想调试这个项目时,我必须在每次调用 DownloadFile() 之后立即放置一个 MessageBox.Show() 函数,并在 Visual Studio 之外运行我的应用程序。当显示该消息框时,我可以使用附加来处理并在该消息框之后的下一行放置一个断点,单击消息框上的“确定”,然后它将捕获断点。但是当我在循环中下载文件并想要调试循环时,在调用 DownloadFile 后附加到进程非常烦人和耗时,在调用下一个 DownloadFile 之前停止调试,在调用 DownloadFile 后再次附加到进程,并且一整天都在重复。

4

1 回答 1

0

我不完全确定,但看起来它与当前路径和您将文件下载到的工作区有关。

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

如果我没记错的话,您可以从 Workspace 对象下载一个项目(或在操作中指定 Workspace),尝试修改您的代码以执行此操作,看看是否更好。

您还可以尝试将调试会话的当前路径更改为“工作空间内”的内容

于 2012-04-20T15:15:58.040 回答