Ссылка, необходимая для сборки, которая определенно является частью проекта - PullRequest
4 голосов
/ 12 октября 2009

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

BC30652: требуется ссылка на сборку 'System.Data.Linq, версия = 3.5.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089', содержащий тип 'System.Data.Linq.Binary'. Добавьте его в свой проект.

У меня определенно есть ссылка на сборку, иначе другие разделы кода не скомпилируются. Я попытался удалить все ссылки и удалить папки 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

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

Ответы [ 2 ]

5 голосов
/ 12 октября 2009

Вы разделяете логику в другой сборке? Если это так, то вы также должны ссылаться на него в веб-приложении. Вы можете добавить его в web.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>
0 голосов
/ 19 октября 2018

У меня было это связано с модулями кода, которые были частью проекта. То, что решило это, было закрытием решения и его открытием. Я отлаживал ASPX-проект, который был обновлен, и устранил все ошибки, только чтобы эта проблема всплыла в конце.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...