Microsoft.Owin.Host.HttpListener未被复制到引用项目'构建输出

时间:2016-03-09 12:42:38

标签: visual-studio reference owin self-hosting copy-local

我在同一解决方案中从另一个项目引用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的一部分复制到Project A的构建输出的文件。 _CopyFilesMarkedCopyLocal步,无论设置如何。

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

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

您可以自由使用这些设置。

我在询问之前检查了Stackoverflow中的相关问题,并且没有回答或没有回答。

请给我一个提示,告诉我如何将.HttpListener.dll与其他.dll一起下载到预期的引用项目输出中。谢谢。

1 个答案:

答案 0 :(得分:3)

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

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

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