2009-05-19 75 views
1

我在Visual Studio 2008解決方案中使用多個C#項目和一些C++項目工作,並希望使用生成後事件來執行某些第三方供應商命令行工具。在幾個項目中需要這些生成後事件。如何在用於多個項目(VS 2008)的解決方案中定義Makefile樣式的變量?

我可以硬編碼命令行上所需的路徑名和其他文件,但我更喜歡更靈活的東西。也許:

$(ToolsDir)\ $(PackageBuilder)$(ThirdPartyDllFolder)$(SharedOutputFolder)

當我爲UNIX開發和使用的makefile進行構建,我能夠在高級別定義一個變量makefile並讓它由子makefile繼承。通過這種方式,我可以將所有輸出轉到特定位置,或者在特定位置查找庫等。

是否存在可以使用Visual Studio解決方案完成的等效事情,以便我可以定義像環境變量,然後在項目級別後構建事件中引用它?

編輯:我現在正在使用Windows環境變量,但寧願不需要安裝外部代碼,只需下載代碼並構建它。

回答

1

您是否考慮過Windows環境變量?我知道這不完全是一回事,但你可以用批處理文件設置它們並在構建後執行該批處理文件。

+0

斯科特,是的,我實際上使用這種方法,但我正在尋找一種方法,開發人員可以將源代碼下載到乾淨的機器上,無需額外的「東西」即可構建它。 – Jeremy 2009-05-19 14:48:54

1

我以前有過類似的問題。我的第一個「解決方案」是創建一個當開發人員第一次從存儲庫「獲取」時構建並運行的工具。這不是很漂亮,只是一個額外的步驟 - 但只有一次。

我放棄了,現在我們有另一種方法。我們把第三方工具放在一個svn倉庫(與我們的源不同)中,並且需要一個特定的層次結構和名稱來代表倉庫與我們的代碼庫的根源相關的位置。通過這種方式,我們可以在構建後步驟或其他部分中使用相對路徑。

我同意這是MS構建工具中的一個弱點。

相關問題