2012-04-19 52 views
2

我今天注意到,無論何時我在我的項目中添加一個字添加項,Microsoft.Sharepoint.dll都將被複制到bin文件夾中,並隨後在發佈時包括在內。跟蹤bin文件夾中的dll來自何處

有沒有一種簡單的方法來看看爲什麼這個(令人討厭的大)dll被包括在發佈時?

它未被直接引用。在項目頁面中有3個依賴關係,我已經檢查了所有這些項目,並且它們都沒有直接引用它。我是否還需要繼續追蹤這些項目的依賴關係?

是否沒有某種可以給我提示的構建日誌文件?

編輯

的問題是,我的項目中引用所引用的一個項目,曾與當地的副本設置爲true引用Microsoft.SharePoint.dll的一個項目。我必須從所有項目中刪除dll,並使用copy local將其重新設置爲false。我沒有意識到第三方DLL會被複制到我的項目中。

回答

2

如果由於與其他DLL的依賴關係而導致此問題,請嘗試查看Dependency Walker中的所有DLL。它找到了一個dll所具有的所有依賴關係。這通常僅在它們實際被使用/綁定時纔有效,但您也可以使用Fusion Log Viewer來查看綁定了所有DLL綁定的位置。

+0

沒有這些真(正確雖然我可能會使用它們)工作對我來說 - 請記住,我不使用或需要Microsoft.SharePoint.dll – woggles 2012-04-19 15:16:26

+0

@woggles除了引用這個被複制的唯一的其他原因是檢查構建事件。 VS中還有一個構建輸出屏幕,您也可以使用它。 – 2012-04-19 15:20:30

+0

是的生成輸出屏幕幫助...我只需要在所有正在構建的項目中將Microsoft.SharePoint.dll的本地複製設置爲關閉。 – woggles 2012-04-19 15:34:59

0

你可以有AA看看asp.net的反射機制,或者如果不是你可以運行使用Firebug的瀏覽器的交叉參考曲線,