我正在尝试为3个平台(ios,android,wp7.5)创建简单的DataAccess可移植类库。 我想要的只是创建webrequests,转换数据并将其返回到每个平台的UI。
我能够在Mac OS X Xamarin Studio下创建这样的(便携式)库,并在iPhone应用程序中成功使用它。 但后来我在Visual Studio下打开了这个解决方案(添加Windows Phone UI项目),它给了我构建错误,说明它无法找到System.Net命名空间。 当我检查便携式课程目标时,我惊讶地看到甚至选择了XBOX:
当我选择正确的目标(MonoDroid / Monotouch / WindowsPhone7.5)时,我能够编译,但是当我启动应用程序时,我收到以下错误:
“C:\下载\ Noname.CrossXam \ Noname.CrossXam \ Noname.CrossXam.iPhone \ Noname.CrossXam.iPhone.csproj” (_RemoteBuild target)(1) - > (_ResolveAssemblies target) - >
C:\ Program Files (86)\的MSBuild \ Xamarin \的iOS \ Xamarin.MonoTouch.Common.targets(68,3): 错误:加载程序集时出现异常: System.IO.FileNotFoundException:无法加载程序集'System.Net, Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e'。 也许它在MonoTouch配置文件中不存在? ...0 Warning(s) 1 Error(s)
相同的代码(相同的解决方案)在Mac OS X下使用Xamarin Studio工作得很好。 样本解决方案在这里: https://dl.dropboxusercontent.com/u/19503836/Noname.CrossXam.zip
请告知。
答案 0 :(得分:1)
问题出在System.Net.dll程序集中,MonoTouch& MonoAndroid档案。但是这些类是在这些配置文件下的System.dll中实现的,为了使它能够工作,你需要TypeForwardedToAttribute。
MVVMCross nuget包中存在所有类型转发配置,我只能在更新nuget后安装(此帖子的最后评论:http://slodge.blogspot.com/2013/04/my-current-pcl-setup-in-visual-studio.html)
所以有两个问题: 1.旧的nuget包管理器(需要更新) 2. TypeForwardedToAttribute配置(存在于MvvmCross)
希望它对某人有用。
答案 1 :(得分:0)
您是否尝试将目标框架更改为.Net 4.5?您应该在.csproj文件中看到Profile104