Microsoft.Owin.Host.HttpListener 没有被复制到引用项目的构建输出

Microsoft.Owin.Host.HttpListener isn't being copied to a referencing projects' build output

我在 Visual Studio 解决方案中引用了来自同一解决方案中另一个项目的一个项目。被引用的项目(项目 B)具有 Microsoft.Owin.Host.HttpListener nuget 包,因此其中引用了 .dll。正在构建引用项目 B(项目 A)的项目。输出文件夹获取项目 B 中引用的所有那些 dll,但 Microsoft.Owin.Host.HttpListener.dll 除外,即使它被标记为 Copy Local - true.

Microsoft.Owin.Host.HttpListener.dll 是我迄今为止遇到的唯一一个无论设置如何都拒绝作为 MSBuild 的 _CopyFilesMarkedCopyLocal 步骤的一部分复制到项目 A 的构建输出的文件。

我试图将它添加到 app.config 中的条目中,但没有帮助。

我已经安排了展示引用问题的示例项目并将其上传到 GitHub here

您可以随意使用设置。

我在问这个问题之前查看了 Whosebug 中的相关问题,但没有回答或不相关。

请提示如何将 .HttpListener.dll 与其他 .dll 一起复制到预期的引用项目输出中。

在我的团队成员的帮助下,我找到了问题的根源。编译器省略了 HttpListener dll,因为它没有在项目 A 或 B 的代码中的任何地方明确使用。因此,我在项目 B 的代码中添加了以下行:

//Dummy line to bypass the optimization.
Trace.TraceInformation(typeof(Microsoft.Owin.Host.HttpListener.OwinHttpListener).FullName);

这创建了对 HttpListener.dll 的实际依赖,并开始包含在项目 A 的输出中。