我在最终用户机器上遇到了汇编解析问题,我相信这与使用可移植类库有关....
我有一个最初用 Visual Studio 2010 编写的 .NET 4.0 应用程序。最近我们升级到 Visual Studio 2012,我们创建了一些可移植类库项目。我认为我们现在不需要这些功能,但我们也在构建一个可能从这些库中受益的 Windows 8 应用商店应用程序。
当我编译我的项目时,可移植库功能究竟是做什么的?我希望它允许我在不同的框架上运行它而无需修改或重新编译。
当我查看反射器dotPeek 中的库时,它显示 Platform 属性为:
.NET可移植,版本=v4.0,配置文件=配置文件5
并且参考似乎是2.0-ish:
mscorlib,版本=2.0.5.0
系统,版本=2.0.5.0
System.Runtime.Serialization,版本=2.0.5.0
当我在这个最终用户的机器上运行应用程序时,我在日志文件中看到一个错误:
无法加载文件或程序集,'System.Core,版本 = 2.0.5.0 ...'
谷歌搜索 System.Core 2.0.5.0 似乎是指 SilverLight——它似乎是目标框架之一。
本机没有安装 Visual Studio,但有 .NET 4.0(4.0.3 更新)
有什么我应该做不同的编译,我应该在我的依赖项中调查的东西,或者我应该寻找在最终用户机器上安装的东西吗?2.0.5.0 指的是什么?