0

我在 Windows 7 上将我的项目从 Mac 的 Xamarin Studio 移植到 VS2012 时出现错误

错误 3 在未引用的程序集中定义了类型“System.ComponentModel.INotifyPropertyChanged”。您必须添加对程序集“System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e”的引用。C:\Users\user\Documents\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>();
            }
        }
    }
}

我的核心项目在 Mac 上编译良好。

4

2 回答 2

2

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

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

https://github.com/slodge/MvvmCross-Binaries/上的 Binaries Repo提供 Mac 和 PC 预构建的程序集,以便更轻松地在两者之间切换

这种情况现在很复杂,因为 Xamarin 对 PCL 的支持还没有出现 - 但它会在接下来的 2 周内到来。

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

于 2013-06-18T16:32:41.387 回答
0

在我的情况下 解决了引用System.ObjectModel.dll问题。C:\Windows\Microsoft.NET\Framework\vx....v4.0.30319 32bits

于 2015-08-15T20:09:31.807 回答