2014-10-31 63 views
0

我正在寫使用的Visual Web開膛手的API一個C#控制檯應用程序。我寫的時候我給指定的文件路徑中的代碼它自認爲的工作程序和代碼是這有什麼錯我的C#代碼

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using VisualWebRipper; 
using VisualWebRipper.Processor; 

namespace VisualWebRipperAPI 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      WrProject project= WrProject.Load("C:\\Users\\User\\Desktop\\news.rip"); 

      project.DataConfiguration.DataSource.OutputFolder [email protected] "C:\\Users\\User\\Desktop\\output"; 
      project.DataConfiguration.DataSource.IsDefaultOutputFolder = false; 
       IAgent agent = WrAgent.RunProject(new WrProcessPars(project, false, false, false, project.DefaultCollector, project.LogLevel), true); 

      string status = agent.Status;  
      int processedPages = agent.ProcessedPages;  
      int pageLoadErrors = agent.TimeoutPages;  
      int missedRequiredElements = agent.MissedRequiredElements; 
      bool isError = agent.IsError; 
      Console.WriteLine(status +" "+ processedPages +" "+ pageLoadErrors +" "+ missedRequiredElements +" "+ isError); 
      Console.ReadLine(); 
     } 
    } 
} 

但現在我想改變我的代碼更何況對象中的輸入和輸出文件路徑。我加了兩個類code.cs和Program.cs中

在code.cs我寫

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using VisualWebRipper; 
using VisualWebRipper.Processor; 

namespace webripperplugin 
{ 
    public class code 
    { 

     public void method(string source,string output) 
     { 
      WrProject project = WrProject.Load(source); 
      project.DataConfiguration.DataSource.OutputFolder = output; 
      project.DataConfiguration.DataSource.IsDefaultOutputFolder = false; 
      IAgent agent = WrAgent.RunProject(new WrProcessPars(project, false, false, false, project.DefaultCollector, project.LogLevel), true); 

      string status = agent.Status; 
      int processedPages = agent.ProcessedPages; 
      int pageLoadErrors = agent.TimeoutPages; 
      int missedRequiredElements = agent.MissedRequiredElements; 
      bool isError = agent.IsError; 
      Console.WriteLine(status + "\n" + processedPages + "\n" + pageLoadErrors + "\n" + missedRequiredElements + "\n" + isError); 
      Console.ReadLine(); 
     } 

    } 
} 

而在Program.cs中我沒有工作,因爲它寫

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using VisualWebRipper; 
using VisualWebRipper.Processor; 
using webripperplugin; 

namespace webripperplugin 
{ 
    class Program 
    { 
     static void Main() 
     { 
      code trail = new code(); 
      trail.method("C:\\Users\\User\\Desktop\\news.rip", @"C:\Users\User\Desktop\output"); 

     } 
    } 
} 

但我的計劃應該是。它顯示兩個警告

  1. 被建立的項目的處理器體系結構之間有一個不匹配的「MSIL」和d參考「WebRipper」,「x86」的處理器體系結構。這種不匹配可能會導致運行時失敗。請考慮通過Configuration Manager更改項目的目標處理器體系結構,以便在項目和引用之間調整處理器體系結構,或者使用與項目的目標處理器體系結構相匹配的處理器體系結構來依賴引用。
  2. 有正在建造「MSIL」項目的處理器架構和參考「WebRipperBrowser」,「86」的處理器體系結構之間的失配。這種不匹配可能會導致運行時失敗。請考慮通過配置管理器更改項目的目標處理器架構,以便使其處理器架構項目和引用之間,或採取引用的依賴與你的項目的目標處理器架構匹配的處理器架構

當我跑了它早些時候我曾經得到所需的輸出,現在我越來越沒有輸出

回答

1

好所以WebRipper二進制目標x86和你可能有Any CPU打勾或x64確保有用於x86活躍,一個配置錯誤應該消失。你可以做的是,在項目文件中,如果你點擊文件properties並更改編譯選項卡中的架構(平臺)

嘗試以下方法:

  1. 轉到構建>配置管理器菜單項。
  2. 在列表中找到你的項目,平臺應該說Any CPU
  3. 選擇Any CPU然後選擇New
  4. 現在選擇x86。
  5. 確保Any CPU被選中。
  6. 點擊OK

這需要兩者的調試工作要做,並釋放設置。

+0

但同樣的文件早 – Hari 2014-10-31 08:20:07

+0

工作你有沒有真正嘗試我說什麼? – 2014-10-31 08:20:30

+0

是的,我嘗試過但仍然顯示數據執行部分完成,而不是完全完成,我什麼也沒有在輸出目錄 – Hari 2014-10-31 09:29:20