【问题标题】:Cannot Connect to Microsoft SQL Server, System.Transactions missing?无法连接到 Microsoft SQL Server,缺少 System.Transactions?
【发布时间】:2011-06-10 12:59:04
【问题描述】:

请大家帮忙。我有一个截止日期,我无法连接到我的开发盒上的任何 Microsoft SQL Server。不知道发生了什么,但是当我尝试连接到任何 Microsoft SQL Server 时突然出现以下错误:

无法加载文件或程序集 'System.Transactions,版本=2.0.0.0, 文化=中性, PublicKeyToken=b77a5c561934e089' 或 它的依赖项之一。模块 预计将包含一个程序集 显现。 (系统.数据)

请任何人帮忙!我正在使用 Visual Studio 2008/2010、SQL Server Express 2008 R2 运行 Windows 7 x64

【问题讨论】:

  • 另外,我查看了 GAC,x86 和 x64 版本的 System.Transactions 都在那里。

标签: sql-server-2008


【解决方案1】:

这可能是由不同类型的问题引起的。

您可能有引用此程序集的类,但您没有添加对项目的引用。

或者它可以更复杂,例如here。

尝试运行gacutil -I "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Transactions.dll"

【讨论】:

  • 对不起,我上面没有说清楚,我正在使用 SQL Management Studio 尝试连接到任何 sql server,它会抛出该错误。
  • @Keith - 你检查我的链接了吗?
  • 我确实检查了您的链接,但没有运气。我的 GAC 中有 x64 和 x86 System.Transactions dll。所以,为了好玩,我想我会再次将它们复制到 GAC,看看是否能解决它。 c:\Windows\Microsoft.Net\Framework\v2.0.50727\System.Transactions.dll 中的 x86 版本不允许我将文件复制到 c:\Windows\assembly。它抛出了一个错误,它期待一个清单???另外,我的电脑上没有 gacutil。
  • @Keith - 你应该使用gacutil 而不是复制程序集。
  • 我只是尝试使用位于 c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64\gacutil.exe 的 gacutil 并收到另一个错误:“将程序集添加到缓存失败:该模块应包含程序集清单。”
【解决方案2】:

System.Transaction 应该是 .NET 框架的一部分,并且应该安装在 GAC 中。我怀疑您的更新以某种方式将其从 GAC 中删除。

检查 system.transaction 是否在 GAC 中。

打开 Windows 资源管理器 导航到 c:\windows\assembly 检查 System.Transaction 是否存在 如果没有,您可能需要将程序集重新安装到 GAC 中。

http://forums.asp.net/t/1145885.aspx/1?New+error+Could+not+load+file+or+assembly+

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多