c# - 未找到 System.Data 程序集

标签 c# .net-assembly system.data

我在我的 Windows 服务项目中引用了 System.Data。我一直收到 Exception :

Could not load file or assembly 'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.

我将 FusionLog 附加到我的代码中,发现了以下内容。对于 System.Data,只有 visual studio 会在此处查看:

Assembly manager loaded from: C:\windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll

它应该在这里查找(所有其他程序集都只是 System.Data)

Assembly manager loaded from: C:\windows\Microsoft.NET\Framework\v4.0.30319\clr.dll

如何将我的 System.Data 文件指向正确的位置?

我的猜测是 Microsoft Commerce Server dll 可能引用了 2.0 文件夹。

最佳答案

将此添加到 app.config..

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
  </startup>

如果您需要在 Windows 服务中加载旧版本的 dll,您必须添加它。对于 Web 服务,iis 会自动处理它,但对于 Windows 服务则不会。

关于c# - 未找到 System.Data 程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10641958/

相关文章:

c# - Visual Studio 2008 - 将构建时的文件移动到 bin/

c# - 如何使用 asp.net mvc 和 unity 在 application_beginrequest 访问统一容器?

c# - 当文件路径/名称有空格时使用 System.Data.Odbc.OdbcConnection 查询 DBF 文件

c# - 从 C# Azure 函数引用 System.Data.SqlClient 时修复 PlatformNotSupportedException

asp.net-mvc - 为什么 ASP.NET MVC 4 有这么多 NuGet 包,哪些真正重要?

C# 为什么没有从 SqlDbType 到 DbType 的隐式转换?

c# - 如何从签名文件中获取签名者的姓名

c# - 轻按几下如何修复?

c# - 升级具有 .NET 程序集依赖项的应用程序后出现严重的运行时错误

WPF 无法加载文件或程序集或其依赖项之一