最近在研究 Photon Server,跟著官方的建議,偵錯的時候啟動外部程式,來執行剛建置好的 dll,但設定完竟然顯示「找不到外部程式,請輸入有效的可執行檔」……。
嗯?為啥?路徑沒錯啊?


這一題的解答真是意外的難找,在 StackOverflow 找到最好的解答,竟然是叫你用記事本打開 csproj 檔,在路徑前加上 $(SolutionDir)。為啥要用記事本打開?因為在「啟動外部程式」欄位寫的話,輸出會有編碼 bug,重開就會看到,有興趣可以試試。
但這樣實際上還是絕對路徑啊!無法接受這個答案。
最後終於在其他人 10 年前的部落格找到線索。
如果你透過 Visual Studio 啟動器打開專案,起始路徑是 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe,
這其實就是啟動器的路徑。
如果你自己點擊專案的 sln 檔來打開,起始路徑就會在專案資料夾內,也就是 $(SolutionDir)
想一想也蠻合理的,畢竟最一開始創建新專案時,開的就是啟動器嘛……XD
所以之後這專案就必須點擊 sln 檔來開了。
參考資料:https://www.rhyous.com/2010/04/16/how-to-use-relative-paths-when-debugging-in-visual-studio-2008/