這個MSBuild開始成爲一個集會的痛苦。 我得到了一個引用.dll的項目,但BuildServer沒有找到它,我得到'無法解析此引用。找不到程序集'MSBuild在Build中更改參考路徑?
因此,我的項目將此dll作爲位於d:\ common \ DllPath \ mydll.dll之類的項目中引用,並且在項目文件mycsproj.csproj中將其稱爲HintPath .. \。 。\ .. \ .. \ .. \ .. \ .. \ DllPath \ mydll.dll
因此,當我在工作站上構建它時,如果我在構建服務器上使用VS2012打開它,那麼一切正常。 (在服務器上,路徑實際上也是D:\但這只是一個巧合。)
但是,當我嘗試將其構建爲構建定義時,它失敗。它看起來像它建立在C:\ Builds \ 43 \ Myapp,並且我猜「SearchPath」{HintPathFromItem}「考慮」時.. \ .. \ .. \ .. \ .. \ .. \ .. \ DllPath \ mydll.dll「,但它不存在。」在日誌中,它嘗試在c:文件夾中查找.dll。
我怎樣才能讓它指向'正確'的相對目錄?對我來說,它和項目本身是一樣的分區。
它是否在Build-definitions中,還是我必須更改.csproj文件中的某些內容? (在.csproj中它已經是一個相對路徑,我不想改變它)。
「這個MSBuild開始成爲一個集會的痛苦。」在我遇到這種情況時,你可能做錯了。像這樣的HintPaths正在尋求問題。因此,要麼確保服務器上的目錄結構相同,要麼使用屬性/環境變量正確配置提示路徑(有點像mockinterface的答案)。 – stijn
我們在dev和Build環境中得到完全相同的結構。 –