.NET Core 3:手动添加框架依赖项

克里斯多夫

从3.0版发布以来,现在可以在.net核心中编写WPF应用程序了,这真是太好了!

另一方面,在.net核心上,依赖系统现在依赖于完整的框架,不再依赖多个nuget依赖。直到您想在同一应用程序中混合使用WPF和ASP.net核心,这才是问题(我有一种情况,我希望UI带有一个处理websockets终结点的Web服务器)。

当我使用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>

有什么把戏吗?

克里斯多夫

好,我发现了(谢谢安德鲁!):

只需在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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在ASP.NET Core依赖项注入中手动注册控制器

在ASP.NET Core中间件构造函数中混合依赖项注入和手动传递的参数

.Net Core 依赖注入手动处理使用 implementationFactory Func 创建的对象

如何为.Net Core手动设置WebHookReceiver?

手动创建IWebHostEnvironment asp.net core 3.1

.Net 框架与 .Net Core

在.NET Core中设置自定义<OutputPath>(停止添加框架目标)?

向.net Core CSProj文件添加依赖项

如何使用Asp.Net Core 2.2 / IdentityServer4 / SP.NET Core身份手动哈希密码

IOptions的.NET Core 3 Worker服务依赖项注入配置

.NET Core 3 Worker服务设置依赖项注入

.NET Core项目依赖项“出血”

.Net Core WebApi依赖项注入

.NET Core中的Nuget依赖项

.NET Core - 解决 IServiceProvider 依赖项

如何在 ASP.NET Core 中手动生成防伪令牌

Team City 构建 Dot Net Core 失败,但手动构建有效

如何在Net-Core 2.0中手动解析JSON字符串

如何使用 VS Code 在我的 .Net Core 项目中手动安装包/引用

如何手动解密ASP.NET Core身份验证Cookie?

如何在ASP.NET Core中手动注册FluentValidation验证器?

手动将URL与.NET Core 3.0中已注册的终结点匹配

C#.net Core Fluentvalidation手动验证获取验证器类实例

即使我手动使用HttpContext.SignInAsync,.Net Core IsAuthenticated还是false

无法获取托管服务实例(手动启动托管服务.net core 3.1)

.NET Core应用程序中的.NET Framework依赖项

依赖的依赖;.NET Core 3.0中的Framework 4.6.2依赖项

.net-core依赖注入

.NET Core中的Unity框架