我們的azure版本存在問題,只有在我們的csdef文件的WebRole/Contents/Content/SourceDirectory部分中使用絕對路徑時,才能使其運行。雖然它確實支持相對路徑(包括'..')和環境變量(如同在SET中一樣),但問題是我們無法獲得任何非絕對路徑來成功構建,因爲它出現.csdef文件被「驗證」兩次:一次在打包之前它在項目目錄中的位置,以及在它被移動到/ bin文件夾之後再一次。顯然,如果我們在兩個不同的地方開始,沒有一個相對路徑能夠解析到相同的內容目錄!你可以做的是爲兩個構建步驟階段中的一個獲得正確的路徑......但是然後它會失敗。有問題的目標是調用ValidateServiceFiles任務的PreValidateServiceModel。是WindowsAzure.targets ValidateServiceFiles是基本構建步驟嗎?
爲了使我的項目使用相對路徑生成,我需要禁用PreValidateServiceModel目標。包裝似乎工作,雖然我擔心跳過目標(除了顯而易見的...服務文件未驗證!)正在錯過一些重要的過程!)。這就是說.csdef文件仍然是「驗證」的,因爲它必須被解析來創建包。