我有一個Web服務類,框架的其餘部分依賴於獲取其數據,但Web服務類需要具有不同的方法屬性,具體取決於它所處的環境。例如...MSBuild條件編譯
[SoapDocumentMethodAttribute("https://example",...)]
public string Test()
{
//doSomething
}
看到「https://example」?這需要根據環境而改變。 AFAIK你不能讓該字符串爲運行時動態的,它必須以這種方式進行編譯。所以我試圖獲得它,這樣我有這個Web服務的多個CS文件,其中有不同的屬性URL在其中硬編碼,並且MSBuild在預編譯時交換它們。所以我會有一個用於測試的「Service.cs」,生產環境的「Service.cs.production」等等。
- 這是做到這一點的最好方法,還是我錯過了一些我可以擁有一個CS來獨立處理環境的東西?
- 爲了保留具有相同的類名稱和IntelliSense沒有想到的事情是不明確的,我把文件擴展名(「Service.cs」與「Service.cs.production」)分開。這是做到這一點的唯一方法嗎?
- 考慮到上述所有情況都可以,而且我正在編譯一個「生產」配置,它是否可以編譯Service.cs.production 而不是 Service.cs,並且所有內容都是hunky-dorey?
謝謝!