使用PCL和共享项目的模糊引用

时间:2015-01-01 16:02:59

标签: android ios visual-studio-2013 xamarin

我正在开发一个系统,我希望在Android应用和IOS应用之间共享WCF服务逻辑

我认为这样做的最好方法是创建一个我可以在

中引用的PCL

我已经将共享代码打包到共享项目中。

这是我的PCL引用的。到目前为止一切都很好!

然而,只要我在IOS应用程序中引用此PCL,我就会遇到问题,看起来好像有两个版本的ILocation,一个用于PCL,一个用于我的实际项目。

我认为解决这个问题的唯一方法就是将我的WCF代码放入 我正在试验Visual Studio 2013中的共享项目

我有一个接口ILocation,它包含在我的共享项目中

1 个答案:

答案 0 :(得分:1)

您只需将ILocation.cs从SharedProject移动到Pcl项目中。 SharedProject中的文件仍然可以访问ILocation类型,因为SharedProject文件实际上是Android和iOS项目的一部分。

共享项目只不过是链接(添加)到项目引用共享项目中的文件组。这就像您在解决方案文件夹中有一个名为SharedFiles的文件夹一样,并从其他项目(Android,iOS ..)添加此文件夹中文件的链接。编译此项目结果为每个项目生成新的IL(中间语言代码),并且类型是冲突的。如果您曾经使用过常见的AssemblyInfo.cs并使用了文件链接......那么这只是区别在于您不必在每个项目中引用新文件而只需引用SharedProject。