【发布时间】:2021-10-19 18:07:18
【问题描述】:
如何将 UWP 类库链接到 WPF 应用程序?
我创建了一个带有单个测试类的 UWP 类库。我有一个想要使用该类库的 WPF .NET 应用程序。我需要遵循哪些步骤?
在this tutorial 之后,我想在我的应用程序MyApp 中添加库MyLib。但我发现以下编译器错误,
严重性代码描述项目文件行抑制状态 错误 NU1201 项目 MyLib 与 netcoreapp3.1 不兼容 (.NETCoreApp,版本=v3.1)。 MyLib 项目支持: uap10.0.19041 (UAP,Version=v10.0.19041) MyApp C:\Users....\MyApp.csproj
##更新
添加以下代码后,
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework>
<AssetTargetFallback>uap10.0.19041</AssetTargetFallback>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\MyLib\MyLib.csproj" />
</ItemGroup>
</Project>
正如 TamBui 在答案中所建议的,我遇到了构建错误。但是,从一开始就有两个编译器警告。有什么线索就分享一下,
警告 NETSDK1137 不再需要使用 Microsoft.NET.Sdk.WindowsDesktop SDK。考虑更改 SDK 根 Project 元素的属性 'Microsoft.NET.Sdk'。 MyApp C:\Program Files\dotnet\sdk\5.0.103\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets 376
警告 MSB3270 处理器之间不匹配 正在构建的项目架构“MSIL”和处理器 参考架构 "C:\Users...\MyLib\bin\x64\Debug\MyLib.dll", “AMD64”。这种不匹配可能会导致运行时失败。请考虑 通过更改项目的目标处理器架构 配置管理器以调整处理器架构 在您的项目和参考之间,或依赖于 具有与目标相匹配的处理器架构的参考 项目的处理器架构。 MyApp C:\程序文件 (x86)\微软视觉 Studio\2019\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 2123
【问题讨论】:
-
您的 UWP 类库是 .NET 5 库吗? .NET 标准?因为它应该与 .NET Standard 兼容,但可能与 .NET 5 不兼容。
-
@TamBui 如何查看?
-
我的错,我走错了方向。请阅读我的答案。