【问题标题】:.Net core 3: manually adding framework dependencies.Net core 3:手动添加框架依赖
【发布时间】: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>

有什么诀窍吗?

【问题讨论】:

    标签: wpf asp.net-core .net-core


    【解决方案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 类库的研究。添加框架依赖项似乎是每个人都认为任何人都已经知道的事情之一......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    相关资源
    最近更新 更多