2013-11-21 16 views
0

我將解決方案的各個部分分解爲單個解決方案,並將它們整合到Atlassian Bamboo構建/部署環境中。我有一個站點,一個帶有Windows Workflow Foundation的WCF,以及一個包含所有共享類的庫。全部用C#編寫。在編譯的庫中兩個「using」語句之間切換的好方法是什麼?

庫內的一件事是一個與Magento(基於php的)SOAP接口接口的類。基本上它只是爲我提供了一個Magento吐出給我的所有SOAP異常的處理程序。它使用SOAP異常作爲有效的,但不好的結果...示例「產品X不存在」。等等。

雖然它可以是任何SOAP接口。肉類和薯片:

我有一個開發和生產Magento機器,我有兩個非常相同的肥皂接口.. www.mysite.com/soap/etc和dev.mysite.com/soap/etc揭露這些兩臺機器。每個都在庫中作爲Web引用加載,並且很長一段時間,我使用編譯時#if DEBUG常量在兩個不同的「Using」語句之間切換。無論我選擇調試還是發佈,它都會選擇正確的參考。下面是代碼:

#if DEBUG 
    using NKI.Library.MagentoDev; 
#else 
    using NKI.Library.MagentoProd; 
#endif 

現在,我需要能夠指定這個「挑」後,該庫已被編譯成DLL後。(順便說一句,在我的情況大概很難不明白將url編碼到dll :)

回答

1

預處理程序顯然是一個編譯時指令,如using。由於顯而易見的原因,編譯後您無法更改using的功能。

也就是說,如果MagentoDevMagentoProd都來自相同的基類,那麼沒有任何東西可以阻止你擁有一個配置文件,其中的設置被讀入並且代碼使用適當的接口。

相關問題