无法加载一个或多个请求的类型
开发环境:win7 64位系统,vs2013,目标框架:.NET Framework 4,目标平台为x64
我做的是一个windows服务,开发完成后,利用InstallUtil.exe能在本机正确安装这个服务。
但是,上传到服务器上去后,用InstallUtil.exe安装时,会提示如下错误:
尝试在 D:\资料\test.exe 程序集中查找安装程序时发生异常。
System.Reflection.ReflectionTypeLoadException: 无法加载一个或多个请求的类型。有
关更多信息,请检索 LoaderExceptions 属性。
我的服务器是windows server2008 sp1 64位系统,已安装了.net 4 和 4.5,不过新安装的4.5还没有重启服务器。
我尝式过不引用任何东西,这样是可以安装成功的,所以应该是引用的问题。
我看项目里System的引用路径是:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll
但我的服务器上并没有这个路径,只有C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5,没有Framework下的.NETFramework目录 ,是我少安装了什么东西吗?这是本机和服务器我所能发现的唯一区别。
另外,我还引用了一个别人开发完成的dll,是64位的,是否这里存在冲突?这个dll是64位,但是System.web的引用路径又是x86下的,有影响吗?
下面是我的引用:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.Threading;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using TCS;//这是就是别人开发好的64位的dll,如果去掉这个,就不会有问题
如何能让引用路径不要指向C:\Program Files (x86)\Reference Assemblies,而是指向C:\Windows\Microsoft.NET\Framework64\v4.0.30319,这样可以的吗?
希望高手能看看,不胜感谢。