从ASP.NET 4.5 MVC引用可移植类库(PCL)给出了关于List<>;

本文关键字:List gt lt PCL NET ASP MVC 引用 类库 可移植 | 更新日期: 2023-09-27 18:28:37

我在访问目标为的可移植类库中存在/引用的一些对象时遇到了很多问题

.NET Framework 4.5ASP.NET Core 5.0Windows 8Windows Phone银色指示灯8Xamarin AndroidXamarin iOS

PCL用于多个设备和项目,但是,我现在需要将它集成到MVC 4.5 web应用程序中。

我可以从Razor访问PCL中直接定义的一些对象,但这一个已经被难住了;我有一个具有类似属性的对象

公共列表<AnotherPCLObject>AnotherPCLObjectList{get;set;}

当我尝试访问该属性时,我得到一个CS0012错误;类型列表<>在未被引用的程序集中定义。必须添加对程序集"System.Collections,Version 4.0.0.0,Culture neutral,PublicKeyToken=b03f5f7f11d50a3a"的引用。

四处搜索,似乎这应该在我引用的标准程序集中,这让我相信需要某种神奇的程序集映射?

以下是问题:

  1. 有没有办法添加ASP.NET 4.5作为目标,我找了几个小时都找不到方法。

  2. 当在任何引用程序集目录中都找不到System.Collections程序集时,如何引用缺少的程序集。

  3. 如果有某种魔法被用来映射程序集,那么它在哪里被记录?

从ASP.NET 4.5 MVC引用可移植类库(PCL)给出了关于List<>;

如果您仍然有问题,您应该能够通过将程序集引用添加到web.config的编译部分来解决。

<compilation ...>
     <assemblies>
          <add assembly="System.Collections, Version 4.0.0.0, Culture neutral, PublicKeyToken=b03f5f7f11d50a3a" />
     </assemblies>
</compilation>

我在针对4.6.1的MVC 5.2.3项目中也遇到了同样的问题,该项目引用了一个可移植程序集。Intellisense不适用于与Linq扩展相关的一些程序集,所以我不得不添加对System.Core.的引用

希望能有所帮助!