Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 找不到系统数据程序集_C#_.net Assembly_System.data - Fatal编程技术网

C# 找不到系统数据程序集

C# 找不到系统数据程序集,c#,.net-assembly,system.data,C#,.net Assembly,System.data,我在windows服务项目中引用了System.Data。我一直收到异常: 无法加载文件或程序集“System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”或其依赖项之一。系统找不到指定的文件 我将FusionLog附加到我的代码中,并发现以下内容。对于System.Data只有visual studio在这里查看: 从以下位置加载的程序集管理器:C:\windows\Microsoft.NET\Fra

我在windows服务项目中引用了
System.Data
。我一直收到
异常

无法加载文件或程序集“System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”或其依赖项之一。系统找不到指定的文件

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

从以下位置加载的程序集管理器: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文件夹。

确保您的项目设置为.Net Framework 4。如果不这样做,请将其设置为完整配置文件(不仅仅是客户端)

如果在解决方案资源管理器中选择引用的程序集,请验证运行时版本是否正确(请参见下图)。如有必要,可以删除引用并重新添加以修复它

此外,如果您使用的是app.config,请确保其目标是正确的运行时版本


将此添加到app.config

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


如果需要在windows服务中加载旧版本的DLL,则必须添加此项。对于web服务,iis会自动处理它,但对于windows服务则不会。

@NickLaMarca是客户端上安装的完整框架吗?健全性检查-您能找到文件C:\Program Files(x86)吗\引用Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.dll?文件夹v4.0.30319安装在我的MachineEyes上我在这里看到System.Data.dll:C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0您的web.config中有没有?我验证了解决方案中所有项目中的所有系统数据dll都具有4.0运行时版本和应用程序配置的目标是4.0。我的.Net 3.5项目也有同样的问题,甚至添加了上述useLegacyV2RuntimeActivationPolicy。但我仍然可以在VisualStudio输出窗口中观察到“System.Data not found”异常,作为调试运行时的第一次意外异常。但是,除此之外,我的应用程序运行正常。