gpt4 book ai didi

c# - Xamarin.iOS 项目上的 ServiceStack 客户端

转载 作者:太空狗 更新时间:2023-10-29 21:27:27 26 4
gpt4 key购买 nike

我正在尝试在 Xamarin iOS 项目上使用 ServiceStack 客户端,在调试它时出现以下异常:

“System.ArgumentException: PclExport.Instance needs to be initialized”.

产生异常的代码如下:

try
{

string strReadParam = this.xmlParser.GetString("SyncUrl");
CommonStatic.SyncWSUrl = strReadParam;

var client = new JsonServiceClient(CommonStatic.SyncWSUrl);
client.Timeout = new TimeSpan(0, 0, 0, 5, 0);
var response = client.Get(new mSalesCheckConnectionRequest { DBSource = CommonStatic.DBSource, DBSourceInstance = CommonStatic.DBSourceInstance, DBName = CommonStatic.DBName, DBUsername = CommonStatic.DBUsername, DBPassword = CommonStatic.DBPassword });

return;

}
catch (System.Net.WebException wex)
{
}

我正在使用 ServiceStack.Interfaces、ServiceStack.Client.Pcl 和 ServiceStack.Text.Pcl,它们的版本均为 4.0.34。此外,我在 6.0.7 版中引用了 Newtonsoft.Json。

经过一番研究,我意识到 iOS 的 PCL 提供程序不会自动注册,所以我添加了“IosPclExportClient.Configure();”在实例化新的 Json 服务客户端之前,我引用了版本 4.0.0.0 的 ServiceStack.Pcl.iOS.dll。

结果出现如下错误:“不能在同一个 Xamarin.iOS 项目中同时包含‘monotouch.dll’和‘Xamarin.iOS.dll’——‘Xamarin.iOS.dll’被显式引用,而‘monotouch.dll’被‘ServiceStack.Pcl’引用。 iOS,Version=4.0.0.0,Culture=neutral,PublicKeyToken=null'。”

有解决这个问题的建议吗?

提前致谢

最佳答案

您需要调用IosPclExportClient.Configure(); 当您的应用程序开始初始化PCL Export Client 之后才能在iOS 应用程序中使用。

所以在您的 Main 方法中:

static void Main (string[] args)
{
// Configure ServiceStack Client
IosPclExportClient.Configure();

// Set AppDelegate
UIApplication.Main (args, null, "AppDelegate");
}

and a I referenced ServiceStack.Pcl.iOS.dll at version 4.0.0.0.

不再维护 ServiceStack 的 PCL 特定 NuGet 包,因为它们已使用特定配置文件合并到主 NuGet 包中。

应该只在您的项目中包含ServiceStack.Client 包。因此,删除项目中对 ServiceStack 的所有引用,清理构建,并仅添加 ServiceStack.Client

如果您引用 ServiceStack.Client.Pcl 以及 ServiceStack.Client,您将遇到冲突。

关于c# - Xamarin.iOS 项目上的 ServiceStack 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27701637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com