代码之家  ›  专栏  ›  技术社区  ›  Álvaro García

我可以在WPF应用程序中使用网络核心库吗?

  •  0
  • Álvaro García  · 技术社区  · 6 年前

    我正在尝试开发一个非常简单的WCF应用程序。WCF服务器将在Windows 10计算机中,我希望使用Windows 10计算机中的WPF应用程序使用此服务,并且我希望使用Xamarin为Android提供另一个应用程序。

    在Visual Studio中,我看到我可以创建一个网络核心库,而且我还看到网络核心与WCF兼容, I can see in this web .

    我也知道网络核心可以在Windows、Linux和Mac上运行。 所以我想知道我是否可以开发一个网络核心库来开发这个客户机,以便在我的WPF和Android应用程序中使用它。

    我怀疑当我在我的WPF应用程序中添加一个引用到网络核心库项目时,我看到一个黄色的三角形,一个警告,所以我猜WPF不能使用网络核心库。

    所以我在想,对于WCF层,我可能需要创建一个网络标准项目,可以被WPF应用程序和Android应用程序使用。但我想知道这是一种独特的方式,还是有某种方式,WPF应用程序可以使用一个网络核心库,而无需使用中间项目(如网络标准)。

    对于服务器,我也在考虑使用net core,因为这个项目不会被任何其他项目引用,并且net core可以在Windows中使用。

    3 回复  |  直到 6 年前
        1
  •  2
  •   Peter Bons    6 年前

    那么,您应该创建一个.NET标准类库(因此, .NET核心),将WCF客户端代码放入其中,您可以从.NET核心或.NET完整项目引用它。.NET标准类库将为您提供最大的灵活性,因此它是共享库的推荐项目类型。

    但是根据 docs, see last line 服务器端需要使用.NET full:

    WCF服务应用程序仍应使用完整的.NET框架版本创建。

        2
  •  1
  •   mm8    6 年前

    但我想知道这是一种独特的方式,还是有某种方式,WPF应用程序可以使用一个网络核心库,而无需使用中间项目(如网络标准)。

    不可以。面向.NET框架的WPF应用程序不能引用.NET核心项目。

    .NET核心3,当前位于 preview 但是,不支持WPF,这意味着您可以从以.NET核心为目标的WPF应用程序引用.NET核心项目。但是面向.NET框架的应用程序不能引用面向.NET核心的库,反之亦然。

    您应该更喜欢在类库项目中以.NET标准为目标,因为这些标准可以从面向.NET框架或.NET核心的应用程序中使用。

        3
  •  0
  •   Manoj Choudhari    6 年前

    .NET核心平台尚不支持WPF/WinForms应用程序。

    目前:

    到目前为止,我的意思是.NET核心2.x版本。

    因此,如果您的应用程序不是基于.NET核心的2.x标准,那么您将无法引用.NET核心程序集。

    未来:

    .Net core 3 preview 现在可以在.NET核心平台上使用winforms/wpf应用程序。

    希望这有帮助。