繁体   English   中英

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

[英]Can I use a net core library in a wpf application?

我正在尝试开发一个非常简单的WCF应用程序。 WCF服务器将位于Windows 10计算机中,我想通过Windows 10计算机中的WPF应用程序使用此服务,并且我还希望使用Xamarin拥有另一个适用于Android的应用程序。

在Visual Studio中,我看到可以创建一个Net Core库,并且看到Net core与WCF兼容, 我可以在此Web中看到

我也知道Net Core可以在Windows,Linux和Mac中运行。 因此,我想知道是否可以开发一个Net core库来开发客户端,以便可以在WPF和Android应用程序中使用它。

我的疑问是,当我在WPF应用程序中向Net Core库项目添加引用时,看到一个黄色三角形,一个警告,因此我猜WPF无法使用Net Core库。

所以我在想,也许对于WCF层,我必须创建一个可由WPF应用程序和Android应用程序使用的Net Standard项目。 但是我想知道这是唯一的方法还是WPF应用程序可以某种方式使用Net Core库而无需使用诸如Net Standard之类的中间项目。

对于服务器,我也考虑使用Net Core,因为其他任何项目都不会引用该项目,并且Windows中可以使用Net Core。

好了,您应该创建一个.Net标准类库(因此, 不是 .Net Core),在其中放置WCF客户端代码,然后可以从.Net Core或.Net Full项目中引用它。 .Net标准类库将为您提供最大的灵活性,因此它是共享库的推荐项目类型。

但是根据文档,请参阅最后一行,您将需要在服务器端使用.Net Full:

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

但是我想知道这是唯一的方法还是WPF应用程序可以某种方式使用Net Core库而无需使用诸如Net Standard之类的中间项目。

否。面向.NET Framework的WPF应用程序无法引用.NET Core项目。

当前处于预览状态的 .NET Core 3确实支持WPF,这意味着您可以从以.NET Core为目标的WPF应用程序中引用.NET Core项目。 但是,面向.NET Framework的应用程序无法引用针对.NET Core的库,反之亦然。

您应该更喜欢在类库项目中定位.NET Standard,因为它们可以从面向.NET Framework或.NET Core的应用程序中使用。

.Net Core平台尚不支持WPF / Winforms应用程序。

当下:

到目前为止,我的意思是.Net core 2.x版本。

因此,如果您的应用程序不基于.net core的2.x标准,则将无法引用.net core程序集。

未来:

.Net核心3预览可用,而.Net核心平台上现在提供Winforms / WPF应用程序。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM