我正在编写一个使用Visual Web Ripper API的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 =@ "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");
}
}
}
但是我的节目没有像它应该的那样工作。它显示两个警告
当我早点运行时,我曾经得到了所需的输出,现在我没有输出
答案 0 :(得分:1)
好的,所以WebRipper二进制文件的目标是x86,你可能已经勾选Any CPU
或x64
确保x86
有一个配置为活动,并且该错误应该消失。如果单击文件上的properties
并在编译选项卡(平台)中更改体系结构,则可以在项目文件中执行此操作
同时尝试以下方法:
Any CPU
。Any CPU
,然后选择New
Any CPU
。需要对Debug和Release设置进行此操作。