我目前正在使用Teamcity 7.x,但我們還沒有準備好升級。在TeamCity「NuGet Pack」跑步者類型中,如何避免使用BasePath選項?
對於我們的內部NuGet包,我的規範是相對於nuspec文件的位置(默認情況下),但是當在NuGet包運行器中運行時,它們必須與構建檢出目錄相關。
舉例來說,我應該有包含這一個nuspec:
<files>
<file src="Content\**" target="content" />
</files>
但不會在TeamCity的工作,因爲它會自動添加一個基本路徑的選擇,所以我不得不把nuspec改成這樣:
<files>
<file src="Source\Project\Content\**" target="content" />
</files>
這怎麼可以避免?我可以更改我的規範,但是我在一個構建步驟中創建了許多包,而且我試圖使用新的-IncludeReferencedProjects選項,但由於它看起來位置不正確而失敗。
BasePath選項是不需要的,那麼爲什麼它默認爲構建檢出目錄?
這不是我的問題。我的問題是它應該總是使用nuspec文件的位置,如果沒有指定-BasePath選項,這是默認行爲。它始終在NuGet打包程序中指定的事實是問題所在。理論上我可以通過爲每個軟件包添加一個NuGet pack構建步驟來解決這個問題,但是看到我們的解決方案超過了20個軟件包,這實際上是不可維護的。 –