0

我在可移植类库中通过 System.Net 引用了 HttpStatusCode。

然后,我需要从包含该 PCL 的 MonoDroid 项目中引用该状态代码。我知道 System.Net 命名空间存在于 MonoDroid 的系统 DLL 中,并且已包含在内。

但是,这会导致构建错误:

 CS0012: The type 'System.Net.HttpStatusCode' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Net, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'.

现在我意识到在引用 PCL System.Net 时存在严重的命名空间问题,并且 MvvmCross.PortableSupport 中有一个 Shim DLL 应该可以解决这个问题。我已将 MvvmCross.PortableSupport.3.0.8.1\lib\MonoAndroid16\System.Net.dll 包含到 MonoDroid 项目中,但我仍然遇到同样的错误。

我错过了什么?

谢谢!

马修

4

1 回答 1

0

所以我无法确定根本问题,但解决方法是避免通过可移植类库(框架 104 btw)从本机代码中引用 System.Net 符号

在这种情况下,我没有从 PCL 中公开 HttpStatusCode,而是将其公开为整数,从而解决了该问题。

Stuart 目前正在度假,但他建议将此作为一种解决方法,并且效果很好。目前尚不清楚为什么 MvvmCross 包含的 shim System.Net.Dll 没有将引用正确地重定向到本机库。

于 2013-07-31T13:24:34.157 回答