VS2010中控制檯應用程序的項目屬性的調試選項卡允許我設置命令行參數,以便在調試時傳遞給項目。VS2010中控制檯項目的命令行參數中的項目路徑或其他宏
我想設置一個參數,這是一個路徑,路徑是特定於每個開發人員/機器的,因爲它是駐留在解決方案文件夾中的路徑,每個環境都不相同。
前和後生成事件,我可以使用宏如$(ProjectDir)
,但我不能找到一種方法來對命令行參數做到這一點 - 有什麼辦法?黑客沒事,只要它不太可怕!
感謝
VS2010中控制檯應用程序的項目屬性的調試選項卡允許我設置命令行參數,以便在調試時傳遞給項目。VS2010中控制檯項目的命令行參數中的項目路徑或其他宏
我想設置一個參數,這是一個路徑,路徑是特定於每個開發人員/機器的,因爲它是駐留在解決方案文件夾中的路徑,每個環境都不相同。
前和後生成事件,我可以使用宏如$(ProjectDir)
,但我不能找到一種方法來對命令行參數做到這一點 - 有什麼辦法?黑客沒事,只要它不太可怕!
感謝
我還沒有找到一個方式,使用命令行參數$(ProjectDir)
,但是你可以通過訪問包含在項目中的文件:
$(ProjectDir)/FileNeededDuringRuntime
更改爲FileNeededDuringRuntime
。這更像是一種黑客行爲,因爲它可能不包含所有使用該變量的情況,但如果您只是引用一些文件,它可能會引起您的注意。
宏可以在命令行參數的C++項目中使用,請參閱:
How to pass solution folder as parameter in command line arguments (for debug)?
你可以有一個空的C++項目「設爲啓動項目」,改變其「配置屬性 - >調試 - 「命令」從「$(TargetPath)」(新項目的默認值)改爲「$(ProjectDir).. \ OtherProjectRelativeDebugFolder \ OtherProjectsOutputFileName.exe」。
由於OtherProjectRelativeDebugFolder和OtherProjectsOutputFileName是相對的,因此與位置無關,您應該沒問題。
你說:
一個黑客是好的,只要它不是太可怕了!
是一個空的項目,產生一個空的DLL(除非你找到一種方法來阻止它,例如刪除後構建)太可怕了嗎?
順便說一句。 C#中的「調試 - >命令行參數」中也未解析環境變量。我將嘗試設置一個環境變量,傳遞其名稱(因爲它沒有解析)並在程序中讀取它。傳遞名稱是爲了顯示環境變量的來源,即項目設置。
編輯: 我希望找到一種方法來將環境變量設置爲宏的值,例如,在建立事件。一個簡單的shell「set」命令不是持久的,所以它沒有解決。相反,我能夠使用相對路徑作爲工作文件夾來爲我工作。我還發現了一種解決方法,它使用文件進行持久性存儲: VS2010 - Project Macro Variables in Start Options Command Line Arguments