我克隆了一个解决方案,它包含多个基于GalaSoft MvvmLight库的项目,还有两个Portable Projects。我已经安装了所有必需的nuget包和引用,但我无法构建这些可移植项目,并且需要首先构建这些可移植项目,因为所有其他项目都引用它。
我在使用GalaSoft的每个文件中都出现了这个(下面)错误。它是一个可移植类库项目。
错误64类型或命名空间名称' GalaSoft'无法找到(是 你
缺少using指令或程序集引用
我在这个项目中引用了这个(下面)Portable MvvmLight库
\MvvmLightLibs.4.4.32.7\lib\netcore45\GalaSoft.MvvmLight.dll
\MvvmLightLibs.4.4.32.7\lib\netcore45\GalaSoft.MvvmLight.Extras.dll
这是平台目标
我试过清理并重新启动visual studio。我现在被困在这个问题超过2天了。此外,我已经尝试检查和取消选中" Build"配置管理器中的选项(我已在某处阅读过),但没有用。
此外,还有其他44个警告。所有这些看起来都类似于下面的警告。
警告28主要参考" GalaSoft.MvvmLight"不可能 解决
因为它对框架程序集有间接依赖性 " System.Linq.Expressions,Version = 4.0.0.0,Culture = neutral, 公钥= b03f5f7f11d50a3a"这在目前无法解决 目标框架。 " .NETPortable,版本= 4.0版,档案= Profile158&#34 ;.至 解决这个问题,要么删除引用" GalaSoft.MvvmLight"要么 将您的应用程序重新定位到包含的框架版本 " System.Linq.Expressions,Version = 4.0.0.0,Culture = neutral, 公钥= b03f5f7f11d50a3a"
修改 问题标题修订
答案 0 :(得分:1)
所以你的问题是mvvm light没有针对你的PCL配置文件的软件包。
使用nuget install MvvmLightLibs
下载软件包时,您可以看到软件包仅包含一个PCL配置文件的程序集。 Mvvm light支持portable-net45+wp8+wpa81+netcore45+monoandroid1+xamarin.ios10
。但是你的PCL目标是.NETPortable,Version=v4.5,Profile=Profile78
。
如果你想让你的项目与mvvm light兼容,你必须删除 sl5 目标。