2017-01-02 45 views
0

我已經開始構建一個UWP應用程序。在這裏面,我將有哪些改變的BaseURL像以下不同的API部署:如何在UWP Project VS2015中爲不同的API基礎URL定義構建配置?

//DEV Api 
public const string BaseURL = "http://mydevapi.com/devApi"; 
//Test Api 
public const string BaseURL = "http://mytestapi.com/testApi"; 
//UAT Api 
public const string BaseURL = "http://myuatapi.com/uatApi"; 
//Live Api 
public const string BaseURL = "http://myliveapi.com/LiveApi"; 

所以基本上我想根據我在做什麼樣的身材即開發,測試的方式來改變動態的基本URL或Live。

我以前有iOS和XCode的經驗,我們爲此創建了不同的schemes

我看到的文件,我認爲最好的辦法我在C#和Visual Studio是Build configuration,因爲它被描述爲:

您可以爲解決方案創建多個構建配置。對於 例如,您可以配置調試版本,你的測試人員可以用它來 發現和解決問題,並且可以配置不同類型的構建 ,你可以分配到不同的客戶。

我已經創建了一個名爲「AppName.Dev」的新構建配置,但是如何使用它將baseURL常量更改爲Dev url?

這可能脫落作爲一個基本的問題,並表示我對C#和Visual Studio經驗不足,但即使閱讀它的文檔後,我想不通我怎麼讓它實現。幫幫忙嗎?

編輯:閱讀this article後,我創建了四個不同的配置和定義的條件編譯符號像下面:

enter image description here

我現在已經在我的常量使用的定義編譯符號文件是這樣的:

public const string BaseURL = ""; 
#if DEV 
public const string BaseURL = "http://mydevapi.com/devApi"; 
#elif TEST 
public const string BaseURL = "http://mytestapi.com/testApi" 
#elif UAT 
public const string BaseURL = "http://myuatapi.com/uatApi" 
#elif LIVE 
public const string BaseURL = "http://myliveapi.com/LiveApi"; 
#endif 

然而,這些符號似乎沒有工作,因爲它會返回baseURL的空字符串儘管我在DEV配置中運行它。當我把它整理出來的時候會更新。

編輯2:想通了。我曾在我的解決方案兩個項目,並同時在其他使用他們我是定義在一個項目CONFIGS和它們的符號。發佈答案。

回答

0

要添加的構建配置是這樣,請按照下列步驟操作:

  1. 選擇項目。
  2. 轉到構建 - >配置管理器
  3. 從活動的解決方案配置下拉菜單中,選擇新建...
  4. 名稱新的配置,並選擇是否從調試,發佈廣告時,它的副本設置臨時的,應用商店或根據您的需求不用。 enter image description here
  5. 根據您的需要添加諸如此配置是用於構建/部署 還是兩者,首選平臺等設置。
  6. 重複步驟4 & 5爲您想要定義的多個構建配置。

最後添加新的構建配置。接下來的部分是定義條件編譯符號。爲此,請按照以下步驟操作:

  1. 摺疊您的項目樹。
  2. 找到屬性下拉菜單。
  3. 右鍵點擊它並點擊打開
  4. 屬性菜單將打開。
  5. 從側面菜單中選擇Build
  6. 從標有配置的頂部下拉框中,選擇您定義的構建配置。
  7. 該配置的屬性將在下面打開。在標有「條件編輯符號」的文本框中,可以根據需要定義多個符號,用;分隔。

諮詢下面的截圖,如果您有任何困惑:

enter image description here

本部分完成後,你可以在你的API常量使用您定義的符號文件,如:

#if DEV 
public const string BaseURL = "http://mydevapi.com/devApi"; 
#elif TEST 
public const string BaseURL = "http://mytestapi.com/testApi" 
#elif UAT 
public const string BaseURL = "http://myuatapi.com/uatApi" 
#elif LIVE 
public const string BaseURL = "http://myliveapi.com/LiveApi"; 
#endif 

這裏,DEV,TEST,UAT和LIVE是我定義的配置。

相關問題