我拥有“实用程序”类库的源代码,我的目标是.NET Framework4.8。我希望将其移植到.NET核心桌面客户端应用程序中,并将其移植到.NET核心web服务中。
我知道新的.NET Core项目有一种被描述为SDK风格的新项目文件。验证VS正在使用新样式似乎是可能的,因为项目文件的第一行提到了"sdk“一词,而Visual对项目的右键单击允许编辑项目文件。试转换工具被描述为不完整且不受支持,所以我将源代码文件粘贴到项目中。
当我将源代码粘贴到Class Library (.NET Core)项目中时,它无法为缺少的程序集进行编译。似乎没有办法添加对微软类的引用,比如System.Windows.Documents.FlowDocument,它在PresentationFramework.dll中。我只能添加COM引用(不是我想要的)或项目引用(换句话说,是“国产”,不是微软,不是我想要的)。
当我将源代码粘贴到WPF Library (.NET Core)项目中时,它会编译。这个库没有WPF特性,因为它充满了实用程序类和实用程序方法,因此这个项目类型似乎是一个奇怪的选择。我只是猜测它可能会起作用,因为这个教程提到手动编辑WPF应用程序和Windows应用程序的项目文件。它没有告诉你任何选择,而不是应用程序。换句话说,本教程没有提到库。
编辑:下面的问题被编辑成“不像原来那么宽泛”。
为什么WPF Library (.NET Core)会在Class Library (.NET Core)失败的情况下成功?
详细信息: Visual 2019社区
解决方案:“类库”在针对.NET Framework4.8时起作用,但现在在针对.NET核心时必须选择"WPF库“。正如@DavidAWhite所说,FlowDocument是WPF的一部分。
发布于 2020-06-17 23:41:41
.NET核心类库没有任何对WPF的引用或类似的内容。这样做太过分了,而且不便于携带。与.NET标准类库不同,您可以引用WPF、ASP.NET Core3.x、Winforms或.NET标准2.x中不属于任何.NET框架或Mono实现的其他部分。
您可以在csproj文件中使用.NET和<UseWpf>true</UseWpf>创建一个WPF核心类库引用WPF。
无论您喜欢与否,System.Windows.Documents.FlowDocument都是WPF的一部分,这就是您现在引用所有框架提供的WPF组件的方式。
https://stackoverflow.com/questions/62439761
复制相似问题