Visual Studio 2015构建类库可移植错误

时间:2015-11-20 15:29:27

标签: c# visual-studio-2015 portable-class-library

我正在重建一个类库(可移植)。

图书馆 - >定位设置为:

enter image description here

错误列表显示在第一个位置:

严重级代码说明项目文件行 错误CS0234
命名空间“System”中不存在类型或命名空间名称“Linq”(您是否缺少程序集引用?)

如果进行重建,我会收到错误:

Severity    Code    Description Project File    Line

错误正在构建的项目的处理器体系结构“MSIL”与参考“C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ mscorlib.dll”,“x86”的处理器体系结构不匹配”。这种不匹配可能会导致运行时故障。请考虑通过Configuration Manager更改项目的目标处理器体系结构,以便在项目和引用之间调整处理器体系结构,或者依赖于具有与项目的目标处理器体系结构相匹配的处理器体系结构的引用。

注意如果我更改定位(但我不想这样做,仅用于测试!) 到.NET Framework 4.0.3,错误消失了,所有重建都很好!

我试图清理/重建整个解决方案,关闭/重新打开VS,重新启动Windows ...

昨天我更新了所有VS2015扩展和更新,它们也更新了很多东西(Azure,VS重启,ecc ...)

使用声明:

enter image description here

问题: 1)可能发生的事情已经破坏了我的VS安装?

2)我可以做什么测试?

修改

在文件系统中,在* c:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETPortable *下 我有这些文件夹:

  

v4.0 \

     

v4.5 \

     

v4.6 \

     

V5.0 \

该项目是一个类库,基本上包含.resx和一个.cs文件。

所有.resx文件都显示错误,如果我点击其中一个,我得到:

  

无法解析目标框架的mscorlib   ” .NETPortable,版本= 4.0版,档案= Profile328' 。如果这可能发生   目标框架未安装或框架名字对象是   格式不正确。

EDIT2

在Configuration Manager中,如果我将target设置为x86 错误不匹配消失了 但 其他错误仍然存​​在:

基本上就是那个

使用System .-->指向不同的位置?? !!

在找到System.Linq之前。

如果我更改定位 - >找到Net 4.0.3 System.Linq

如果我更改定位 - > Net 4.0 System.Linq缺失了!

VS在哪里搜索这个System.Linq?

1 个答案:

答案 0 :(得分:1)

  

问题:1)可能发生的事情已经破坏了我的VS.   安装?

     

昨天我更新了所有VS2015扩展和更新,它们也更新了很多东西(Azure,VS重启,ecc ...)

如您所述,您已应用更新。这在某种程度上导致了装配冲突。 根据错误消息显示您正在尝试构建x64bit或任何cpu配置版本,并且它会抛出错误。尝试将您的构建更改为目标x86。

如果它编译为x86,那么这意味着除非找到依赖的x86程序集并单独编译或将代码更新为64位,否则你别无选择。否则你无能为力尽管管理层说它必须要运行你的进程x64和任何cpu。 64位处理器可以同时运行32位和64位.32位处理器本身只能运行32位。

  

2)我可以做什么测试?

您可以做的第一件事是本地工作区的差异以及源代码管理中的内容。希望您使用源代码管理,不要检查损坏的版本。看看有什么变化。可能会回滚。

如果没有代码从源代码更改,则让对等方尝试构建它。

您可以取消选中图片中的所有目标并编译解决方案。在成功构建之后添加回目标并缩小作为根本问题的目标。

如果其他所有内容都崩溃了,请卸载您的更新或从最后知道的还原点恢复您的PC。

更新参考时,测试总是好的,确保没有任何中断。

相关问题