0

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

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

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

4

2 回答 2

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?

于 2013-10-22T15:09:26.107 回答
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"

/rwithSvcUtil将指定的程序集添加到用于解析类型引用的程序集集中。如果您要导出或验证使用在配置中注册的第 3 方扩展(行为、绑定和绑定元素)的服务,请使用此选项来查找不在 GAC 中的扩展程序集。

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

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

于 2013-10-23T06:19:30.930 回答