在MSBuild Community Tasks中出现“文件未找到”--是哪个文件?

3

我正在尝试使用MSBuild Community Tasks的VssGet任务,但是错误信息“文件或项目未找到”一直困扰着我。我无法确定错误信息具体指的是什么。以下是该任务:

<LocalFilePath Include="C:\Documents and Settings\michaelc\My Documents\Visual Studio 2005\Projects\Astronom\Astronom.sln" />

<VssGet DatabasePath="\\ofmapoly003\Individual\michaelc\VSS\Astronom_VSS\srcsafe.ini" 
     Path="$/Astronom_VSS" 
        LocalPath="@(LocalFilePath)" 
        UserName="build" Password="build" 
     Recursive="True" />

如果我编写一个Streamreader来读取数据库路径或本地路径,它会成功运行。因此,似乎所有路径都是可访问的。有什么想法吗?
3个回答

2

有两个想法。首先,有时类型加载异常会表现为文件未找到的错误 - 希望不是这种情况。但如果代码实际上是诚实的,您可以使用 ProcmonFilemon 跟踪问题。启动其中一个工具,然后再次运行您的任务。您应该能够追踪到无法定位的文件的记录。


0

@famoushamsandwich,这是一个很好的回答——我之前从未听说过procmon或filemon。我尝试在问题上使用procmon,但即使在筛选相关输出后(我的天啊,机器在屏幕背后做了更多的事情,我不知道),我仍然找不到我引用的文件没有被找到的地方。


你必须过滤结果,可以按进程过滤,甚至限制为错误(尽管这对我来说并不总是有效)。 - dpurrington

0

Procmon和Filemon是很好的建议 - 只需确保过滤结果仅显示错误。否则,成功消息将掩盖问题条目。此外,您可以通过过滤对话框或右键单击条目并选择“排除进程”来过滤不是故障的进程。

还有几个想法:

  • 在LocalFilePath中,您指定了一个单个文件而不是文件夹。另一方面,任务指定递归获取文件。也许您需要从LocalFilePath中删除“\Astronom.sln”?
  • 构建任务是在您的帐户下运行还是在其他帐户下运行?可能存在权限问题
  • 您是否已经在相同位置下载了代码副本?也许存在无法覆盖现有文件/文件夹的失败?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接