[英]How can I use .Net Core Class Library (.NetStandard v1.5) into .Net Framework 4.6.2 Application
[英]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.