我目前正在尝试将ASP.NET核心WebApi项目集成到WPF应用程序中(最新的ASP.NET核心,最新的.NET框架)。这样做的目的是为用户提供一个REST来远程控制应用程序。但是,我无法将它集成到WPF应用程序中,一旦我在WPF项目中引用了web项目,我就会遇到一个编译错误:
“未知的构建错误,‘无法将依赖解析为程序集'Microsoft.AspNetCore.Mvc.Core,Version=2.1.2.0,Culture=neutral PublicKeyToken=adb9793829ddae60’,因为它尚未预加载。在使用ReflectionOnly API时,依赖程序集必须通过ReflectionOnlyAssemblyResolve事件按需预加载或加载。”
有什么办法解决这个问题吗?
这是一个示例VS2017解决方案,包含一个WPF项目和一个ASP.NET核心项目,我刚刚在WPF项目中添加了对ASP.NET核心项目的引用。
更新:-- ASP.NET核心项目是为了针对完整的.NET框架而设置的,并且不使用.NET核心。
发布于 2018-09-04 05:11:14
为了解决构建错误,您可以安装所需的缺少的Nuget包(WebApplication1的依赖项)及其依赖项。
通过在WpfApp1上安装下面的Nuget包,我成功地构建并运行了您提供的项目:
Microsoft.AspNetCore.MVC.CoreMicrosoft.AspNetCore.Razor.Runtime发布于 2018-09-03 14:28:26
WPF还不支持.NET核心。您不能引用来自WPF应用程序的任何.NET核心程序集,因此您无法在WPF应用程序中承载ASP.NET核心应用程序。
微软宣布从2019年起.NET核心3支持Windows桌面应用程序(包括WPF):https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/
发布于 2019-02-10 10:29:49
我建议你使用普通的WCF来完成这个任务。WCF还能够处理您的调用RESTful。只需实现一个服务和数据域。若要在WPF中启动服务,请在启动时创建一个新的“ServiceHost”,以将其映射到URL和端口。
https://stackoverflow.com/questions/52151412
复制相似问题