System.Data Assembly Not found

让人想犯罪 __ 提交于 2020-01-12 19:01:32

问题


I have a reference to System.Data in my windows service project. I keep getting the 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.

I attach the FusionLog to my code and found out the following. For System.Data only visual studio is looking here:

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

And it should be looking here (all the other assemblies are but System.Data)

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

How can I do point my System.Data file to look in the right place?

My guess is Microsoft Commerce Server dlls are referenceing the 2.0 folder maybe.


回答1:


Add this to app.config..

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

If you need old versions of dlls to be loaded in a windows service you must add this. For web services iis automatically takes care of it, but not for windows service.




回答2:


Make sure your project is set to .Net Framework 4. If that doesn't do it, set it to full profile (not just Client)




回答3:


If you select the referenced assembly in the solution explorer, verify that the runtime version is correct (see image below). You can remove the reference and re-add it to fix it if necessary.

Also, if you are using an app.config, make sure it is targeting the correct runtime version.



来源:https://stackoverflow.com/questions/10641958/system-data-assembly-not-found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!