如何使用.net Core 3.0中开发的WPF中的WCF

时间:2019-05-22 09:27:34

标签: c# wpf wcf .net-core-3.0

我需要使用在.NET Core 3.0预览版5中开发的WPF中的WCF服务。在Visual Studio中,我无法使用“添加->服务”引用,因为VS现在不支持此选项。

我的第一个选择是用.csproj编写运行项目所需的所有组件,但是它不起作用。

这是我的.csproj。

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>

  <ItemGroup>
    <None Include="Connected Services\ServiceTime\Time.wsdl" />
    <None Include="Connected Services\ServiceTime\Time.xsd">
      <SubType>Designer</SubType>
    </None>
    <None Include="Connected Services\ServiceTime\Time1.xsd">
      <SubType>Designer</SubType>
    </None>
  </ItemGroup>
  <ItemGroup>
    <WCFMetadata Include="Connected Services\" />
  </ItemGroup>
  <ItemGroup>
    <WCFMetadataStorage Include="Connected Services\ServiceTime\" />
  </ItemGroup>
  <ItemGroup>
    <None Include="Connected Services\ServiceTime\Time.disco" />
  </ItemGroup>
  <ItemGroup>
    <None Include="Connected Services\ServiceTime\configuration91.svcinfo" />
  </ItemGroup>
  <ItemGroup>
    <None Include="Connected Services\ServiceTime\configuration.svcinfo" />
  </ItemGroup>
  <ItemGroup>
    <None Include="Connected Services\ServiceTime\Reference.svcmap">
      <Generator>WCF Proxy Generator</Generator>
      <LastGenOutput>Reference.cs</LastGenOutput>
    </None>
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Windows.Compatibility" Version="2.1.1" />
  </ItemGroup>
  <ItemGroup>
    <Reference Include="TimeService">
      <HintPath>..\..\TimeService\TimeService\bin\TimeService.dll</HintPath>
    </Reference>
  </ItemGroup>
</Project>

TimeService正常工作。

如果有人知道有关在WPF中使用WCF服务的指南,请使用.NET Core 3.0。

2 个答案:

答案 0 :(得分:3)

  

我需要使用在.NET Core 3.0预览版5中开发的WPF中的WCF服务。在Visual Studio中,我无法使用“添加->服务引用”,因为VS现在不支持此选项。

对于.NET Core,您将其添加为连接服务。

  

Use the WCF Web Service Reference Provider Tool

     

...

     

“ WCF Web服务参考”选项适用于使用以下项目模板创建的项目:

     
      
  • Visual C#> .NET Core
  •   
  • Visual C#> .NET标准
  •   
  • Visual C#> Web> ASP.NET Core Web应用程序
  •   
     

...

     
      
  1. 在解决方案资源管理器中,双击项目的Connected Services节点
  2.   
  3. 在“已连接服务”页面上,单击“ Microsoft WCF Web服务引用提供程序”。这将弹出“配置WCF Web服务参考”向导:   enter image description here
  4.   

答案 1 :(得分:2)

  

我无法使用添加->服务引用,因为VS现在不支持此选项。

是的。在“添加连接的服务”下。

似乎您想添加WCF 客户端,但请务必清楚。 Core不支持WCF服务。