C# · 12月 23, 2021

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

我在我的 Windows服务项目中引用了System.Data.我一直得到例外:

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服务.