當您構建.Net項目時,輸出將被複制到輸出文件夾(例如:bin文件夾)中;不僅複製了項目源代碼發佈的二進制文件,還複製了標記爲CopyLocal = True選項的所有依賴項(文件引用)。如何檢索.Net項目的輸出而不依賴關係
對於定製構建任務(即:在Team Build上編譯時),我想知道如何從沒有這些依賴關係的構建中發佈二進制列表(我可能不會 - 也不想要 - 設置CopyLocal = False)。
我的問題是,我沒有找到一個乾淨的方式來確定這個輸出。我最接近的解決方案是在項目文件上循環,讀取AssemblyName並檢查是否有預見的pdb,xml,resx文件。但是,我仍然缺少資源文件(?)和其他輸出,因爲我不知道所有可能的項目。
所以我的問題是:你知道任何方法/技巧/算法來獲得構建發佈的二進制列表;即組件,衛星組件(子文件夾的+路徑),pbd,xml(即:文檔),但沒有依賴關係?
不需要回答這個問題是非常重要的。 – 2012-01-09 14:34:14
將** CopyLocal **設置爲false是解決方案。你明白沒有本地目錄中的依賴項,那麼你的應用程序不可能正常運行? – 2012-01-09 19:47:01
對不起,但我可能不會設置CopyLocal = False,否則我沒有bin文件夾中的可用依賴項,也無法在Team Build上運行單元測試。這些不在GAC中,但在Drop文件夾中。另外,我最好不要修改源代碼。我只管理生成服務器,不對源代碼負責。如果沒有其他乾淨的方法來確定確切的輸出,我可以解析項目文件並更新CopyLocal,但我不知道是否有MSTest的選項(如MSBuild的「referencepath」選項)傳遞ot Drop文件夾到MSTest – 2012-01-10 07:52:12