.Net core 3:手动添加框架依赖
Posted
技术标签:
【中文标题】.Net core 3:手动添加框架依赖【英文标题】:.Net core 3: manually adding framework dependencies 【发布时间】:2019-11-28 14:29:41 【问题描述】:自 3.0 版发布以来,现在可以在 .net core 中编写 WPF 应用程序,这真是太好了!
另一方面,在 .net core 上,依赖系统现在依赖于完整的框架,不再依赖多个 nuget。除非您想在同一个应用程序中混合例如 WPF 和 ASP.net 核心,否则这不是问题(我有一个案例,我想要一个带有处理 websockets 端点的 web 服务器的 UI)。
当我使用 VS2019 创建 ASP.Net 核心项目时,我得到了这些框架依赖项(在解决方案资源管理器中,在程序集 Dependencies/Frameworks 节点上):
Microsoft.AspNetCore.App Microsoft.NETCore.App另一方面,当我创建一个核心 3 WPF 项目时,我得到以下框架依赖项:
Microsoft.NETCore.App Microsoft.WindowsDesktop.App.Ref作为依赖项,我想获得以下内容:
Microsoft.AspNetCore.App Microsoft.NETCore.App Microsoft.WindowsDesktop.App.Ref如何手动将 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>
有什么诀窍吗?
【问题讨论】:
【参考方案1】:好的,I found it out(感谢安德鲁!):
只需在 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 不会。
【讨论】:
非常感谢,您的帖子刚刚结束了一个小时关于如何将 System.Windows.Data-using 放入我的 .NET core 3.1 类库的研究。添加框架依赖项似乎是每个人都认为任何人都已经知道的事情之一......以上是关于.Net core 3:手动添加框架依赖的主要内容,如果未能解决你的问题,请参考以下文章
如何手动解密 ASP.NET Core 身份验证 cookie?
自动挡换手动挡:在 ASP.NET Core 3.0 Middleware 中手动执行 Controller Action