我正在使用許多控制臺(tái)應(yīng)用程序,并且它們都使用一個(gè)共享項(xiàng)目。TFS中的分支如下所示:-branchname --scripts --sharedlib --applications --application1 --application2 etc.有數(shù)百個(gè)應(yīng)用程序都在sharedlib中引用該項(xiàng)目。而且我們沒(méi)有從中引用.dll,因?yàn)槟承?yīng)用程序團(tuán)隊(duì)希望自定義共享項(xiàng)目。因此,要使所有應(yīng)用程序正常工作,我已將TFS分支映射到本地,并打開(kāi)了解決方案,添加了一個(gè)現(xiàn)有項(xiàng)目,并添加了共享項(xiàng)目.csproj作為參考(在Visual Studio 2015中)。我可以在應(yīng)用程序的.sln和.csproj文件中看到對(duì)共享項(xiàng)目的引用,如下所示:..\..\sharedlib\commonproject\commonproject.csproj這意味著它從應(yīng)用程序解決方案文件夾上升了兩個(gè)級(jí)別,找到了sharedlib文件夾,然后找到了.csproj文件。它在本地工作正常。但是,當(dāng)我在TFS 2015中為應(yīng)用程序創(chuàng)建構(gòu)建定義時(shí),這一切都破滅了。因?yàn)門FS構(gòu)建“獲取源”步驟將共享庫(kù)文件夾帶到.sln文件夾級(jí)別,因?yàn)門FS中的存儲(chǔ)庫(kù)映射是針對(duì)應(yīng)用程序文件夾和共享庫(kù)文件夾進(jìn)行的,因此分別映射到$(build.sourcesDirectory)和$(build.sorcesDirectory) \ sharedlib路徑。因此,當(dāng)它查看.sln文件并嘗試向上兩級(jí)查找共享的項(xiàng)目.csproj文件時(shí),它根本無(wú)法做到這一點(diǎn),因?yàn)樵跇?gòu)建服務(wù)器中,通用的.csproj文件從.sln文件復(fù)制到的位置向下一級(jí): (sharedlib\commonproject\commonproject.csproj)因此,如果我編輯.sln和.csproj文件以刪除路徑上的兩個(gè)級(jí)別并將其簡(jiǎn)單地放置為(sharedlib\commonproject\commonproject.csproj),則它將建立在服務(wù)器上,但是甚至不會(huì)在本地加載,因?yàn)槁窂皆诒镜夭徽_。因此,我似乎無(wú)法使其同時(shí)在本地服務(wù)器和TFS服務(wù)器上運(yùn)行。有什么辦法可以解決這個(gè)問(wèn)題?我想到的一種可能的解決方案是,在開(kāi)始構(gòu)建之前,將共享項(xiàng)目復(fù)制到構(gòu)建服務(wù)器中的兩個(gè)級(jí)別上,并保持.sln和.csproj中的路徑不變。但是,如何在TFS中設(shè)計(jì)該步驟呢?任何解決方案將不勝感激。
2 回答

RISEBY
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
“一些應(yīng)用程序團(tuán)隊(duì)希望自定義共享項(xiàng)目?!?nbsp;他們還可以基于共享項(xiàng)目生成dll的多個(gè)版本,并使用Nuget來(lái)管理/導(dǎo)入所需的版本。
如果您的團(tuán)隊(duì)堅(jiān)持使用項(xiàng)目引用而不是dll引用。建議您使用相對(duì)路徑參考而不是絕對(duì)路徑。
由于它是應(yīng)用程序解決方案文件夾中的兩個(gè)級(jí)別,因此您可以嘗試使用
$(SolutionDir)\sharedlib\commonproject\commonproject.csproj

有只小跳蛙
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以在構(gòu)建定義中的“構(gòu)建代理文件夾”上配置項(xiàng)目的本地路徑。我更喜歡的簡(jiǎn)單方法是在構(gòu)建定義中將應(yīng)用程序項(xiàng)目的路徑下調(diào)兩個(gè)級(jí)別,如下所示,然后在VS Build步驟中相應(yīng)地更新路徑:
Application: $(build.sourcesDirectory)\app\app Sharedlib: $(build.sorcesDirectory)\sharedlib
- 2 回答
- 0 關(guān)注
- 175 瀏覽
添加回答
舉報(bào)
0/150
提交
取消