2016-03-09 26 views
0

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

Microsoft.Owin.Host.HttpListener.dll是我迄今为止唯一一个拒绝作为MSBuild的_CopyFilesMarkedCopyLocal步骤的一部分复制到Project A的生成输出而不管其设置如何。

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

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

你可以随意使用设置。

在问这个问题之前,我已经检查了Stackoverflow中的相关问题,并且他们没有回答或无关。

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

回答

2

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

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

这创建了HttpListener.dll实际的依赖,并开始被列入项目A的输出。

+0

适合我。多谢,伙计! – Max

相关问题