1

我試圖找出如何從Visual Studio 2010中傳遞參數的MSBuild任務在Visual Studio 2010(2012?)

內舉例來說,我有一個生成任務調用指定值MSBuild任務「BuildMergeModule 「定義了,這個構建任務接受一個I​​nput屬性,它定義了一個叫做」SourceContent「的地方,我可以用一個分號分隔的文件/路徑規範來傳遞一個字符串。然後該任務使用該任務從項目中每個目標合併模塊的SourceContent規範生成合並模塊。

我可以將合併模塊文件添加到項目中,然後爲其分配「BuildMergeModule」任務的Build Action。

那麼,是否有可能在VS 2010(或VS 2012,如果不是VS 2010)定義屬性,以便在屬性對話框中顯示何時選擇了每個項目合併模塊目標的屬性?

如果我直接修改MSBuild文件,我可以設置屬性。但是,有沒有辦法讓Visual Studio設計環境呈現選定任務的構建操作屬性?

回答

0

您可以顯示C++項目的屬性頁面中所需的屬性。對於C#(或其他類型的項目),您將需要創建一個VSIX屬性頁面來公開您的任務輸入屬性。

我不會介紹如何創建VSIX屬性頁面,因爲我對這些頁面的使用經驗很少。

要在C++項目中創建屬性頁,請從「視圖」菜單中打開「屬性管理器」。您將在此窗口中看到您的項目,以及各種平臺|配置的各種排列。

右鍵單擊您想要創建設置的項目,然後選擇「添加新的屬性表...」。在出現的「添加新項目」對話框中,將屬性表單文件命名並放在所需的位置。請注意,只有在您喜歡的情況下,您也可以將新的屬性表添加到特定的平臺/配置中。

創建新屬性表後,您將在屬性管理器中的各個平臺/配置部分下看到它。雙擊屬性表打開它的設置。

單擊「用戶宏」並添加新的宏,其中包含要發送到任務的設置。例如,設置一個名爲'SourceContent'的新宏,並將其值設置爲您希望用其構造您的MergeModules的分號分隔的文件列表。

+0

感謝您的回答,但僅供參考,除非另有說明,您可以假定開發人員不使用C++。 –

相關問題