将.NET 4 WCF服务定位为64位时出现问题

将.NET 4 WCF服务定位为64位时出现问题,wcf,iis,.net-4.0,64-bit,cassini,Wcf,Iis,.net 4.0,64 Bit,Cassini,我无法将.NET 4 WCF服务定位为64位。我在64位Vista操作系统上执行以下步骤: 在VisualStudio2010中创建新的WCF服务项目 将平台目标更改为x64 完成此操作后,我的WCF服务将不再在Cassini或IIS中运行。需要注意的一点是,采取这些相同的措施并瞄准.NET3.5,一切都很好。该项目的构建没有问题。非常感谢您的帮助。加载服务时出现的错误是: (我不是在寻找“将其编译为任何CPU”的答案。我更感兴趣的是了解为什么会发生这种情况。:-) “/”应用程序中出现服务器错

我无法将.NET 4 WCF服务定位为64位。我在64位Vista操作系统上执行以下步骤:

在VisualStudio2010中创建新的WCF服务项目

将平台目标更改为x64

完成此操作后,我的WCF服务将不再在Cassini或IIS中运行。需要注意的一点是,采取这些相同的措施并瞄准.NET3.5,一切都很好。该项目的构建没有问题。非常感谢您的帮助。加载服务时出现的错误是:

(我不是在寻找“将其编译为任何CPU”的答案。我更感兴趣的是了解为什么会发生这种情况。:-)

“/”应用程序中出现服务器错误。 找不到在ServiceHost指令中作为服务属性值提供的类型“WcfService3.Service1”,或在配置元素system.serviceModel/serviceHostingEnvironment/serviceActivations中提供的类型。 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源

异常详细信息:System.InvalidOperationException:找不到作为ServiceHost指令中的服务属性值提供的或在配置元素System.serviceModel/serviceHostingEnvironment/serviceActivations中提供的类型“WcfService3.Service1”

源错误:

在执行当前web请求期间生成了未经处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别

堆栈跟踪:

[InvalidOperationException:找不到作为ServiceHost指令中的服务属性值提供的或在配置元素system.serviceModel/serviceHostingEnvironment/serviceActivations中提供的类型“WcfService3.Service1”。] System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(字符串构造函数字符串,Uri[]基本地址)+51902 System.ServiceModel.HostingManager.CreateService(字符串规范化VirtualPath)+1440 System.ServiceModel.HostingManager.ActivateService(字符串规范化VirtualPath)+44 System.ServiceModel.HostingManager.EnsureServiceAvailable(字符串规范化VirtualPath)+615

[ServiceActivationException:由于编译过程中出现异常,无法激活服务'/Service1.svc'。异常消息为:类型“WcfService3.Service1”,在ServiceHost指令中作为服务属性值提供,或在配置元素system.serviceModel/serviceHostingEnvironment/ServiceActivation中提供找不到您的电子邮件地址..] System.Runtime.AsyncResult.End(IAsyncResult结果)+679246 System.ServiceModel.Activation.HostedHttPrequesStatAsyncResult.End(IAsyncResult结果)+190 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication上下文、字符串routeServiceVirtualPath、布尔流上下文、布尔EnsurewService)+234 System.ServiceModel.Activation.HttpModule.ProcessRequest(对象发送方,EventArgs e)+355 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+148 System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+75


版本信息:Microsoft.NET Framework版本:4.0.30319;ASP.NET版本:4.0.30319.1

我认为原因在于Cassini web主机是32位应用程序,因此您无法在同一进程内共享x64和x86运行时


对于IIS,您是否在其自己的应用程序池中运行它?同样,应用程序池可能与32位应用程序共享,这将阻止您运行x64进程。如果您将虚拟目录与新的应用程序池关联,则进程应加载为ok。

在ServiceHost指令中作为服务属性值提供,或在con中提供找不到配置元素system.serviceModel/serviceHostingEnvironment/serviceActivations