gpt4 book ai didi

xamarin.ios - 更新后 Xamarin IOS 上的 Servicestack 程序集失败

转载 作者:行者123 更新时间:2023-12-01 05:18:58 32 4
gpt4 key购买 nike

我刚刚升级到最新的 Xamarin 版本,虽然我的所有库都被引用,但我不断收到这些错误:

错误 CS0012:类型 ServiceStack.ServiceHost.IReturn 1' 在未引用的程序集中定义。考虑添加对程序集`ServiceStack.Interfaces, Version=3.9.55.0, Culture=neutral, PublicKeyToken=null' (CS0012) (Place.Logic) 的引用

错误 CS0012:类型 ServiceStack.ServiceHost.IReturn' is defined in an assembly that is not referenced. Consider adding a reference to assembly ServiceStack.Interfaces, Version=3.9.55.0, Culture=neutral, PublicKeyToken=null' (CS0012) (Place.Logic)

(我认为单点触控 DLL 在发布版本上的版本号不正确)

****更新

来自评论和链接以及这个:Xamarin Studio iOS assembly error

如果不使用特定的命令行工具,似乎需要从源代码重新编译 DLL。

不幸的是,Servicestack monotouch 源文件上的源文件不完整,一直在说:Servicestack.Text.Monotouch (Load failed)。有没有人设法重新编译这些并将它们供公众使用?

***更新

添加源文件的单点版本会导致 Xamarin Studio 提示文件不兼容,即。 Monotouch v1.0,当尝试在同一解决方案文件中选择它们作为引用时。

***解决方法

我的 DTO DLL 引用了 ServiceStack DLL 并引发了版本控制等问题。所以我最终将 DTO 源文件从服务器端逻辑复制到我的 Xamarin 项目中。现在可以工作,虽然我不高兴我有相同代码的重复:(

最佳答案

通常,MonoTouch 项目只能引用其他 MonoTouch 项目或 MonoTouch 程序集版本。 (您可以为适当定位的可移植类库设置异常(exception)。)

因此,即使您的应用程序引用了 ServiceStack MonoTouch 程序集,但您的 DTO 项目引用了非 MonoTouch ServiceStack 程序集,并且您的应用程序引用了该 DTO 项目,它也会按照您的描述失败。

所以,是的,正如您所提到的,将 MonoTouch 项目与具有相同来源的标准项目放在一起是常见的做法。 MonoTouch 项目只是一个引用标准项目中文件的 shell 。 (有多种做法可以使这些项目保持同步,这是一个持续开发的领域。例如,一个技巧是在 .csproj 文件中使用通配符。)

最后,值得注意的是,您在客户端应用程序中引用的 ServiceStack 版本并不严格需要与服务器项目中引用的 ServiceStack 版本匹配。 ServiceStack 解析服务 URL 和序列化/反序列化 DTO 的约定相当稳定。因此,您可以在不升级客户端的情况下升级服务器上的 ServiceStack。

关于xamarin.ios - 更新后 Xamarin IOS 上的 Servicestack 程序集失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17866524/

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