从3.0版发布以来,现在可以在.net核心中编写WPF应用程序了,这真是太好了!
另一方面,在.net核心上,依赖系统现在依赖于完整的框架,不再依赖多个nuget依赖。直到您想在同一应用程序中混合使用WPF和ASP.net核心,这才是问题(我有一种情况,我希望UI带有一个处理websockets终结点的Web服务器)。
当我使用VS2019创建ASP.Net核心项目时,我得到了这些框架依赖关系(在解决方案资源管理器中,在程序集Dependencies / Frameworks节点上):
另一方面,当我创建一个核心3 WPF项目时,我得到以下框架依赖项:
我想要得到的依赖项如下:
如何手动将Microsoft.NETCore.App添加到WPF应用程序(或反过来)?在csproj中什么都没有...
在asp.net核心的csproj中,我得到了:
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
在WPF应用程序中,我得到了:
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
有什么把戏吗?
好,我发现了(谢谢安德鲁!):
只需在csproj中添加该部分:
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
因此,在我的示例中,我只需要将其添加到WPF项目中即可。
诀窍是该项目不是同一类型。对于WPF,我们拥有:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
而对于asp.net核心之一,我们有:
<Project Sdk="Microsoft.NET.Sdk.Web">
稍后的版本会自动嵌入Microsoft.AspNetCore.App引用,而WPF不会。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句