2013-09-04 1 views
1

Ниже приведен мой код в проекте с именем Presentation, а также у меня есть еще один проект с именем MyNamespace и MyNamespace2 (в пределах того же решения), в котором я имеют классы, созданные EntityFramework. Я добавил ссылку проекта MyNamespace в проект презентации.Дизайнер страниц Webform ASP.NET не может найти класс из другого проекта, используемый в привязке к модели

1: <asp:Repeater ID="MyRepeater" runat="server" ItemType="MyNamespace.MyEntityClass" SelectMethod="SelectMethod"> 
2:  <ItemTemplate> 
3:   <li><a href="<%# Item.Link %>"> 
4:    <%# Item.Text %> 
5:   </a></li> 
6:  </ItemTemplate> 
7: </asp:Repeater> 

Теперь, когда я пытаюсь использовать IntelliSense в кавычках после ItemType атрибута, я только получить классы перечислены от MyNamespace2, но ни один из MyNamespace. Кроме того, когда я пытаюсь запустить это веб-приложение, перейдите на страницу, которая содержит выше кода, даже если успешно строит, я получаю следующее сообщение об ошибке:

Compiler Error Message: CS0246: The type or namespace name 'MyNamespace' could not be found (are you missing a using directive or an assembly reference?) 

Интересно достаточно, в конструкторе, IntelliSense работает с Item «s свойства , поэтому тип Item был правильно разрешен дизайнером.

Теперь что здесь не так? Спасибо.

ответ

2

Я нашел свою проблему. Кажется, недостаточно, чтобы другой проект (MyNamespace) упоминался в презентации. Сделав это, позвольте мне использовать классы в MyNamespace в файлах codebehind, но не в файлах aspx.

Я добавил следующие строки в моем файле web.config для того, чтобы использовать эти классы в ASPX страниц:

<configuration> 
.... 
    <system.web> 
    .... 
    <compilation debug="true" targetFramework="4.5"> 
     .... 
     <assemblies> 
     ..... 
     <add assembly="MyNamespace, Version=1.0.0.0, Culture=neutral, PublicKeyToke=null" /> 
     </assemblies> 
    </compilation> 
    .... 
    <pages> 
    .... 
     <namespaces> 
     .... 
     <add namespace="MyNamespace" /> 
     </namespaces> 
    </pages> 
    </system.web> 
</configuration>