0

我将我的项目复制到密钥上的 dsik 并尝试在我母亲的家用电脑上运行它。在我使用的代码中HtmlAgilityPack.HtmlWeb,我有这一行:

private List<string> test(string url, int levels,DoWorkEventArgs eve)
        {
            levels = 0;
            HtmlWeb hw = new HtmlWeb();

如果我运行我的程序,它不会抛出任何异常,但会继续,只是不会做任何事情。如果我在行上放一个断点:HtmlWEb hw = new HtmlWeb(); 我正在移动到No Source Available window

Locating source for 'D:\Source\htmlagilitypack.new\Trunk\HtmlAgilityPack\HtmlWeb.cs'. Checksum: MD5 {58 c1 63 f6 cd 5 65 de 4c 3c d5 4b b1 b7 7 48}
The file 'D:\Source\htmlagilitypack.new\Trunk\HtmlAgilityPack\HtmlWeb.cs' does not exist.
Looking in script documents for 'D:\Source\htmlagilitypack.new\Trunk\HtmlAgilityPack\HtmlWeb.cs'...
Looking in the projects for 'D:\Source\htmlagilitypack.new\Trunk\HtmlAgilityPack\HtmlWeb.cs'.
The file was not found in a project.

我看到 D:\ 上的某个目录中缺少 HtmlWeb.cs

如果我在我看到的 catch 上放置一个断点,我也会在我的函数测试中尝试并捕获:

捕获到 IO 异常。设备未准备好。

HtmlWeb.cs我猜它可能在 D:\ 中寻找文件,而在我母亲的电脑中,我的电脑D:\中的 DVD 驱动器是它的硬盘。

完整的例外:

System.IO.IOException was caught
  Message=The device is not ready.

  Source=mscorlib
  StackTrace:
       at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
       at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
       at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
       at System.IO.StreamWriter.CreateFile(String path, Boolean append)
       at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize)
       at System.IO.StreamWriter..ctor(String path)
       at GatherLinks.Form1.removeDuplicates(List`1 a, List`1 b) in F:\GatherLinks\GatherLinks\Form1.cs:line 250
       at GatherLinks.Form1.test(String url, Int32 levels, DoWorkEventArgs eve) in F:\GatherLinks\GatherLinks\Form1.cs:line 111
  InnerException: 

我在参考区域中的代码中没有看到任何问题,HtmlAgilityPack.dllim 它没有丢失。

所以我想知道为什么它在寻找文件D:\?如果在我的电脑上我确实重建/构建解决方案并保存了它,我确信它添加了所有文件并且dll's它需要到项目中,所以如果我将它复制到我的磁盘上并在我的母电脑上运行它会工作。

那么我在这里做错了什么?我应该如何修复/修复它?

4

1 回答 1

1

我删除了 HtmlAgilityPack.pdb,它工作得很好。擦除文件,重建,关闭并重新打开,看看它是否有效

于 2015-01-14T02:26:44.760 回答