.net 4.5服务引用不会重用4.0类型

时间:2013-09-12 23:28:40

标签: wcf .net-4.5 generator

在.net 4.5项目中,我正在尝试创建一个重用在.net 4.0中编译的类型的WCF服务引用,但是我无法让Visual Studio在服务代理中重用4.0类型。

我可以很好地实例化类型,但服务引用生成器拒绝接收它们。如果我将相同的服务添加到.net 4.0项目中,则会成功重用这些类型。

有人知道如何让.net 4.5生成的服务代理重用.net 4.0类型吗?

2 个答案:

答案 0 :(得分:0)

我想知道它是否与useLegacyV2RuntimeActivationPolicy有关。我不确定这是否会在WCF中帮助您解决问题,但请尝试将其粘贴在您的.config文件中

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

在这里详细一点:What does 'useLegacyV2RuntimeActivationPolicy' do in the .NET 4 config?

答案 1 :(得分:0)

您是否尝试过使用SvcUtil代码

/r命令行
SvcUtil http://localhost/Service.svc /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.dll" /r:"..\Reference Assemblies\Service.DataContracts.dll"
带有/r

SvcUtil将指定的程序集添加到用于解析类型引用的程序集集中。如果要导出或验证使用在配置中注册的第三方扩展(Behaviors,Bindings和BindingElements)的服务,请使用此选项查找不在GAC中的扩展程序集。

有关详细信息,请参阅msdn SvcUtil

确保引用的dll位于引用它的物理位置,对我有用。 希望它会对你有所帮助。