【发布时间】:2012-12-14 01:11:42
【问题描述】:
我在最终用户机器上遇到了汇编解析问题,我认为这与使用可移植类库有关....
我有一个最初用 Visual Studio 2010 编写的 .NET 4.0 应用程序。最近我们升级到 Visual Studio 2012 并创建了一些可移植类库项目。我认为我们现在不需要这些功能,但我们也在构建一个可能会从这些库中受益的 Windows 8 应用商店应用程序。
当我编译我的项目时,可移植库功能究竟是做什么的?我希望它允许我在不同的框架上运行它而无需修改或重新编译。
当我查看 reflector dotPeek 中的库时,它显示 Platform 属性为:
.NETPortable,Version=v4.0,Profile=Profile5
而且引用似乎是 2.0-ish:
mscorlib,版本=2.0.5.0
系统,版本=2.0.5.0
System.Runtime.Serialization,版本=2.0.5.0
当我在这个最终用户的机器上运行应用程序时,我在日志文件中看到一个错误:
无法加载文件或程序集,'System.Core, Version=2.0.5.0...'
谷歌搜索 System.Core 2.0.5.0 似乎是指 SilverLight——它似乎是目标框架之一。
这台机器没有安装Visual Studio,但是有.NET 4.0(4.0.3更新)
是否有什么我应该做不同的编译,我应该在我的依赖项中调查的东西,或者我应该寻找在最终用户机器上安装的东西? 2.0.5.0指的是什么?
【问题讨论】:
-
2.0.5.0 是 PCL 的目标版本,它被框架重新映射。 Profile5 = 框架 4.0 和存储。远景:商店应用程序需要 .NET 4.5。注意 4.0 的客户端配置文件
标签: .net-4.0 portable-class-library