我在windows服务项目中引用了System.Data。我一直收到Exception:
无法加载文件或程序集“System.Data、Version=4.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089”或其依赖项之一。系统找不到指定的文件。
我将FusionLog附加到我的代码中,并发现了以下内容。对于System.Data,只有视觉工作室在这里查看:
从: C:\windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll加载的
程序集管理器
它应该在这里查看(所有其他程序集都是System.Data)
从: C:\windows\Microsoft.NET\Framework\v4.0.30319\clr.dll加载的
程序集管理器
如何将我的System.Data文件指向正确的位置?
我猜Microsoft Commerce Server dll可能引用了2.0文件夹。
发布于 2012-05-22 13:52:49
把这个添加到app.config中。
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>如果需要将旧版本的dll加载到windows服务中,则必须添加以下内容。对于web服务,iis会自动处理它,而不是针对windows服务。
发布于 2012-05-17 19:08:12
确保您的项目设置为.Net框架4。如果没有这样做,将其设置为完整配置文件(而不仅仅是客户端)。
发布于 2012-05-21 14:52:20
如果在解决方案资源管理器中选择引用的程序集,请验证运行时版本是否正确(请参阅下面的图像)。您可以删除引用,并在必要时重新添加以修复它。
另外,如果您使用的是app.config,请确保它的目标是正确的运行时版本。

https://stackoverflow.com/questions/10641958
复制相似问题