在 SharePoint Visual WebPart 中使用MVVM 4 ASP我遇到了编译器向我显示错误的问题:
'object' does not contain a definition for 'Bind'
我已将包含方法的 DLL 放入 GAC(由 SP 包完成),在标记中引用程序集,并按如下方式导入命名空间:
<%@ Assembly Name="ASPBinding, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b36aef9f99d7a844" %>
<%@ Assembly Name="Binding, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b36aef9f99d7a844" %>
<%@ Import Namespace="Binding" %>
并且 IntelliSense 显示页面标记正在查看扩展方法:
页面编译器看到不同的东西是有原因的吗?当它位于 SharePoint 外部的普通 ASPX 页面中时,此方法有效。
更新:好的 - 似乎是 SharePoint 的“问题”。
开箱即用,SP2010 不使用 .Net 3.5 编译 ASPX 页面 - 它使用 .Net 2.0 编译器。谁曾想到?!..
更改 web.config 以使用 3.5 编译器允许我们调用扩展方法 ok。