本机 .NET NuGet 包导致 .NET 编译器发出 "There may have been missing assembly" 警告

Native .NET NuGet package causes "There may have been missing assembly" warning by .NET compiler

我有一个通用 Windows 应用程序运行时组件项目,它依赖于 Microsoft.Azure.Devices.Client NuGet package.This 通用运行时组件随后被另一个用 Visual C++ 编写的项目使用,该项目也是通用 Windows 应用程序项目类型。现在 C# 项目可以自行编译,C++ 项目也是如此,但是在构建从 C# 项目使用 NuGet 包的 C++ 项目引用 C# 项目的解决方案时,编译器会发出以下警告:'Microsoft.Azure.Devices.Client.DeviceClient' was not included in compilation, but was referenced in type 'AzureConnection.Connection'. There may have been a missing assembly. 确实缺少程序集,因为程序在尝试调用来自 NuGet 包的任何代码时崩溃。

这基本上意味着 NuGet 包在编译时没有被正确使用,因为 Microsoft.Azure.Devices.Client.DeviceClient 类型来自 NuGet 包。我可以从 Visual Studio NuGet 包管理器中看到包 Microsoft.Azure.Devices.Client 已正确安装在我的 C# 运行时组件项目中。尝试为任何平台制作发布版本时都存在同样的问题。

为什么构建找不到 NuGet 二进制文件,我该如何解决这个问题?

似乎无法在通用运行时组件项目中使用此 NuGet 包,因为该包未正确编译到组件中。我必须通过将我的代码迁移到单个 C# 应用程序来解决问题,NuGet 包可以在其中编译并正常工作。