2017-10-05 135 views
0

我在我的解決方案資源管理器中有幾個項目,我想按照下圖所示順序構建。 enter image description here如何在同一個解決方案中執行另一個項目?

這裏的buildserver項目正試圖建立一個.dll。我希望這個項目能夠從testExecutive項目中執行。我如何去做這件事?

我嘗試添加構建依賴項,並在我的testExecutive.cs文件中添加了{使用Buildserver}。但是當我點擊運行時,只有testexecutive項目運行,而不是buildserver。

我可以編程命令另一個項目來構建?

+2

您似乎在交替使用「執行」和「構建」。你想以編程方式**構建**一個項目,或者只是讓Visual Studio構建一切並在運行時將一個項目調用到另一個項目中? – Blorgbeard

+0

@BarmakShemirani但是Build服務器項目會生成一個.dll文件作爲輸出,並且visual studio會說生成.exe的其他項目必須是啓動項目。 – Sameer

+1

你不能只是「執行」一個dll。沒有一個dll的標準入口點。也許這個項目應該是一個可執行文件而不是一個dll。要麼是顯式調用testExecutive項目所需的函數。 – Blorgbeard

回答

2

構建依賴關係只能確保您在依賴項部分(BuildServer)中指定的項目在構建整個解決方案時在依賴項目(testExecutive)之前構建。

如果您想在構建特定項目之前運行某個操作,那麼在項目屬性中有一個「構建事件」部分,您可以在構建之前執行任何命令,如果您在「預構建事件命令行「。 要實現你所描述的,你可以在這裏輸入:

MSBuild ..\BuildServer\BuildServer.csproj /verbosity:minimal /target:Rebuild 

但我不會建議,因爲這將建立兩次當你重建的整體解決方案。

也許你可以定義它像只調試模式下工作:

if $(ConfigurationName) == Debug MSBuild ..\BuildServer\BuildServer.csproj /verbosity:minimal /target:Rebuild 

確保該路徑的csproj是正確的,msbuild.exe是在您的環境變量路徑。

但是,這一切對我來說似乎都沒有必要。您可以右鍵單擊BuildServer項目並在任何時候更新任何代碼後選擇構建。或者用F6構建整個解決方案。項目依賴性將確保BuildServer在testExecutive項目之前構建。

相關問題