VS2012和INotifyPropertyChanged

时间:2013-06-18 14:31:44

标签: visual-studio-2012 xamarin mono mvvmcross portable-class-library

我有错误将我的项目从Xamarin Studio从Mac移植到Windows 7上的VS2012

  

错误3类型'System.ComponentModel.INotifyPropertyChanged'是   在未引用的程序集中定义。你必须添加一个   参考汇编'System,Version = 2.0.5.0,Culture = neutral,   公钥= 7cec85d7bea7798e”。 C:\用户\用户\文档\ Visual   Studio 2012 \ Projects \ MyProject.Core \ ApplicationObjects \ AppStart.cs

这是我的AppStart.cs:

using Cirrious.MvvmCross.ViewModels;
using MyProject.Core.ViewModels;

namespace MyProject.Core.ApplicationObjects
{
    public class AppStart
        : MvxNavigatingObject
          , IMvxAppStart
    {
        private readonly bool _showSplashScreen;

        public AppStart(bool showSplashScreen)
        {
            _showSplashScreen = showSplashScreen;
        }

        public void Start(object hint = null)
        {
            if (_showSplashScreen)
            {
                ShowViewModel<SplashScreenViewModel>();
            }
            else
            {
                ShowViewModel<HomeViewModel>();
            }
        }
    }
}

My Core项目在Mac上正常编译。

1 个答案:

答案 0 :(得分:2)

猜测您正在使用Mac构建的程序集在PC上构建。

使用Xamarin Studio在Mac上构建的PCL程序集不是真正的可移植类库 - 而是它们是针对MonoTouch / Droid程序集(传统上更接近Silverlight而不是正确的.Net)构建的普通程序集。

Binaries Repo on https://github.com/slodge/MvvmCross-Binaries/提供Mac和PC预建组件,以便更容易在两者之间切换

目前这种情况很复杂,因为Xamarin对PCL的支持尚未到来 - 但它将在未来两周内推出。

此外,如果您要切换到PC进行开发,那么现在可以通过http://mvvmcross.wordpress.com获得许多示例,其中显示了如何使用Nuget在PC上完成所有开发