visual-studio-2008 - 绝对是项目一部分的程序集所需的引用

标签 visual-studio-2008 linq-to-sql webforms

我有一个项目正在迁移到使用 Linq To SQL。总的来说,这很好,但我遇到了一个问题,如果我尝试将 DTO 中的时间戳放入隐藏字段,我会在运行时收到此错误:

BC30652: Reference required to assembly 'System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' containing the type 'System.Data.Linq.Binary'. Add one to your project.



我肯定有对程序集的引用,否则代码的其他部分将无法编译。我尝试删除所有引用并删除 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

有没有人见过这种行为并知道解决方法?

最佳答案

你在不同的程序集中分离你的逻辑吗?如果是这样,那么您还必须在 Web 应用程序中引用它。您可以将其添加到 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>

关于visual-studio-2008 - 绝对是项目一部分的程序集所需的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1555500/

相关文章:

c++ - 如何为 VS2008 __forceinline 函数?

.net - Visual Studio 2008 中的代码片段有大小限制吗?

linq - LINQ to SQL 中的多个延迟 WHERE 子句表达式

javascript - 服务器端的 AngularJS 变量

c# - VS2008 编译器中的错误 : DLL cannot be found

c# - 如何在 Visual Studio 2008 的 Crystal Reports 中迭代嵌套的 .NET List<>?

c# - 使用 LINQ 的多个搜索参数

c# - 使用 subselect 优化 linq to sql 查询以获得最新结果

C# 版本的 WebForms 页面不工作,VB 版本是

asp.net - 静态容器已经有一个与之关联的内核