Intellisense не распознает элементы Sharepoint.WebControl в шаблоне элемента управления - PullRequest
2 голосов
/ 18 сентября 2009

Я работаю с проектом, сгенерированным шаблоном VS2008 Sharepoint (VSeWSS). В настоящее время при работе с имеющимися у меня файлами ASCX IntelliSense не распознает импортированные пространства имен. Я не уверен, что делать, чтобы решить эту проблему.

Примечание: В соответствии с приведенным ниже редактированием импорт SharePoint.WebPartPages работает нормально, просто SharePoint.WebControls этого не происходит.

Проект собирается без ошибок и правильно развертывается. Удаление строки <%@Register Tagprefix="SharePoint"... приводит к ожидаемой ошибке " Неизвестный тег сервера 'SharePoint: SPGridView' " после развертывания.

Я нашел похожие вопросы (например, нераспознанный префикс тега или фильтр устройства в Visual Studio 2008 ), однако вопрос и ответы на него относятся только к веб-проектам. В частности, они говорят о файле web.config. То, что не создано как часть шаблона SharePoint.

Предлагаемые решения и причины, по которым они не работали:

  • Создать файл web.config - Файл не существует в этом типе проекта
  • Добавить ссылку на dll - Нет видимого эффекта

Дальнейшие указания или предложения по устранению проблемы приветствуются.

<%@ Control Language="C#" AutoEventWireup="true"
   Inherits="HelloWorld1.UserTableDoom, HelloWorld1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2ace7ea1e94310d3" %>
<%@ Register Tagprefix="SharePoint" 
   Namespace="Microsoft.SharePoint.WebControls"
   Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<SharePoint:SPGridView ID='fooGrid' runat='server'
   AutoGenerateColumns='false'
   DataKeyNames='user_id'
   DataSourceID='foo'>
...
</SharePoint:SPGridView>

Edit: Интересно, что я могу добавить пространство имен WebPartPages, и оно правильно работает в IntelliSense.

Я также заметил, что при создании совершенно нового решения и размещении в нем файла ASCX. Проблема все еще существует. SharePoint.WebPartPages работает, а SharePoint.WebControls - нет.

<%@ Register Tagprefix="WebPartPages"
   Namespace="Microsoft.SharePoint.WebPartPages"
   Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<WebPartPages:...>  -- works correctly.

Ответы [ 4 ]

1 голос
/ 18 сентября 2009

Я использую тот же код, который требуется для отображения SPGridView, однако проблем с Intellisense не возникает. Это действительно странное форматирование над словом SharePoint в Microsoft.SharePoint.WebControls, но отлично работает, кроме этого:

<%@ Control Language="C#" AutoEventWireup="true" Inherits="QueryDemo.QueryDemoControl, QueryDemo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5434e690be8749f6" %>
<%@ Register Tagprefix="WebControls" Namespace="System.Web.UI.WebControls" Assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<SharePoint:SPGridView
    id="queryGrid"
    runat="server"
    DataSourceId="queryData"
    AutoGenerateColumns="false"
    width="100%"
    AllowSorting="True">
      <AlternatingRowStyle CssClass="ms-alternating"/>
</SharePoint:SPGridView>

Убедитесь, что у вас есть ссылка на Microsoft.SharePoint в проекте Visual Studio, и попробуйте выполнить код. Если сетка отображается, то проблема должна лежать в Intellisense.

0 голосов
/ 22 февраля 2012

Я также делаю сборку своей собственной линией, и она работает:

<%@ Assembly Name="Microsoft.SharePoint, Version......" %>

...... это остальная часть строки.

0 голосов
/ 28 сентября 2009

Попробуйте выполнить следующее:

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv -resetsettings

Возможно, вам придется работать от имени администратора для достижения максимального эффекта.

0 голосов
/ 18 сентября 2009

Попробуйте установить пакеты обновления для Visual Studio.

...