2016-03-09 56 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

相關問題