1

我正在尝试将 Html Agility Pack 与 MonoTouch 应用程序一起使用,但找不到可以使用它的版本。

我从CodePlex下载了最新的二进制文件,并尝试使用它包含的每个 DLL 进行构建。当目标是 iPhone 时,不会编译。

添加 .NET 20 库将允许它编译到 iPhone 模拟器,但是当切换到 iPhone 时出现错误:

Error MT2002: Can not resolve reference: System.Diagnostics.TraceListener (MT2002) (MFLPlatinum12)

似乎其他人正在将 HtmlAgilityPack 与 MonoTouch 项目一起使用,所以对我缺少什么有什么想法吗?

4

2 回答 2

2

您是从源代码编译还是直接使用 DLL?

您将需要创建一个新的 MonoTouch 库项目并添加所有文件以使其正常工作。

直接使用 DLL 可能不起作用,因为它不是为 MonoTouch 编译的。

于 2012-08-18T15:14:36.323 回答
1

您必须从代码中编译它 下载源代码

进入

\htmlagilitypack-99964\Branches\1.4.0\HtmlAgilityPack

csproj将更改编辑为

<Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" />

保存并加载

修正错误

跟踪 -> 调试

删除块

 if (!SecurityManager.IsGranted(new DnsPermission(PermissionState.Unrestricted)))
        {
            //do something.... not at full trust
            try
            {
                RegistryKey reg = Registry.ClassesRoot;
                reg = reg.OpenSubKey(extension, false);
                if (reg != null) contentType = (string)reg.GetValue("", def);
            }
            catch (Exception)
            {
                contentType = def;
            }
        }

删除块

 if (SecurityManager.IsGranted(new RegistryPermission(PermissionState.Unrestricted)))
        {
            try
            {
                RegistryKey reg = Registry.ClassesRoot;
                reg = reg.OpenSubKey(@"MIME\Database\Content Type\" + contentType, false);
                if (reg != null) ext = (string)reg.GetValue("Extension", def);
            }
            catch (Exception)
            {
                ext = def;
            }
        }

使用文件夹dll中的bin/debug

于 2013-03-18T07:36:00.523 回答