我在我的 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/