我正在尝试将DLL添加到我的MvvmCross.core库项目中。但是,当我尝试从其中一个ViewModel引用命名空间时,由于某种原因无法解析包含的命名空间。在对象查看器中,我可以看到包含的命名空间。
当我从MvvmCross.Droid项目中引用相同的DLL时,我没有看到问题。
不幸的是我没有源代码所以我需要将它作为DLL引用。
我在VS2013和Xamarin Studio上都试过这个
答案 0 :(得分:2)
您的MvvmCross.core
项目是否是可移植的类库?如果是,你将无法参考它。
您可以做的是创建另一个特定于平台的项目MyThing.Droid
,并引用.DLL。在MvvmCross.core
项目中,创建一个界面IMyThingService
。在MyThing.Droid
创建,MyThingService
实施IMyThingService
并执行您想要的内容。现在,您可以获得对IMyThingService
的引用,并从DoStuff()
项目中调用MvvmCross.core
。
您还可以使用MvvmCross
提供的插件模型来完成此任务。
public class MyThingService : IMyThingService
{
public void DoStuff()
{
}
}
public interface IMyThingService
{
void DoStuff();
}