我目前正在開發一個控制檯應用程序,它將傳遞一個vcxproj文件並使用GCC進行編譯。不幸的是,我很快就遇到了一大堆問題。解析VS2010 MSBuild vcxproj文件
我發現了一堆目錄的快捷方式,如:
VCTargetsPath
VCInstallDir
SolutionDir
PROJECTDIR
UserRootDir
等。
MSBuild從哪裏獲取這些值?我認爲它們是爲MSBuild過程設置的環境變量(最後一個已知的環境變量以相同的方式處理,即「$(...)」)。這是一個糟糕的假設,所以我仍然想知道我是如何得到這些的。有沒有人有這個想法?
任何信息,將不勝感激:)
歡呼這是非常有趣的信息。不過,我應該指出,我並不是真的渴望掛鉤MSBuild並插入我自己的構建方法。我純粹試圖解析vcxproj文件以從使用GCC(而不是MSVC)的那些代碼生成我自己的代碼。 ..我不完全確定反射信息如何幫助我...目前,我正在使用「NMAKE」構建,並通過我自己的應用程序,然後解析sln和vcproj,最後生成GCC構建的代碼。這個想法是我可以從VSttudio其他平臺上構建,包括Android和MacOSX。 – Goz 2010-11-04 20:16:08
有趣的是,它似乎是唯一沒有預先定義的是「VCTargetsPath」和MSBuild特定負載。其餘的幾乎都可以在各種.props文件中找到。 MSBuild的是在MSDN中定義的,VCTargetsPath是在註冊表中定義的。 – Goz 2010-11-07 12:30:31