Ссылка, необходимая для сборки, которая определенно является частью проекта


У меня есть проект, который я в процессе миграции на использование Linq to SQL. В целом все нормально, но я застрял на проблеме, где, если я попытаюсь поместить метку времени из DTO в скрытое поле, я получу эту ошибку во время выполнения:

BC30652: справочные материалы, необходимые для системы сборки.Данные.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089', содержащий тип ' System.Данные.Линк.Двоичный". Добавьте его в свой проект.

У меня определенно есть ссылка на сборка, иначе другие разделы кода не компилировались бы. Я попытался удалить все ссылки и удалить папки bin и obj, но все равно получаю ту же ошибку.

Это происходит на этой строке в разметке:

<asp:HiddenField ID="hfTimestamp" runat="server" 
    Value='<%#CType(Container.DataItem, CommunicationType).pslTimestamp.TimestampToString() %>' />

Где TimestampToString - это метод расширения, который выглядит следующим образом:

<Extension()> _
Public Function TimestampToString(ByVal binary As Binary) As String

    Return BitConverter.ToUInt64(binary.ToArray(), 0).ToString()

End Function

Кто-нибудь видел такое поведение и знает, как его исправить?

1 4

1 ответ:

Вы отделяете свою логику в другой сборке? Если это так, то вы также должны ссылаться на него в веб-приложении. Вы можете добавить его в сеть.config

 <compilation debug="true">
  <assemblies>
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
  </assemblies>
</compilation>