揭秘生成配置-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元拉孜做網(wǎng)站,已為上家服務(wù),為拉孜各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

我相信每個人都熟悉使用大多數(shù)解決方案模板中的Debug和Release配置。 以Debug模式構(gòu)建項(xiàng)目時使用Debug配置,使用Release模式構(gòu)建項(xiàng)目時使用Release配置,這一點(diǎn)似乎很明顯。然而,可能不太清楚的是切換配置時實(shí)際發(fā)生了什么,或者如何添加自己的自定義配置。今天,我們將深入了解構(gòu)建配置的世界,看看它們?nèi)绾文艽蟠筇岣吣臉?gòu)建時間和生產(chǎn)率。

揭秘生成配置

揭秘生成配置

什么是配置?

簡單地說,配置是一組項(xiàng)目屬性。在默認(rèn)的Debug配置中,例如, debugging會啟用,在Release配置中不會啟用Debug。您可以設(shè)置在每個配置中使用的鏈接器選項(xiàng),要構(gòu)建什么架構(gòu)(CPU),等等。您還可以進(jìn)一步定義平臺,以便根據(jù)是否為設(shè)備或仿真器構(gòu)建,可以有單獨(dú)的項(xiàng)目設(shè)置。換言之,你也可以在你的項(xiàng)目中,通過配置|平臺來進(jìn)行每一個項(xiàng)目的設(shè)置。

如何編輯配置?

如何編輯和添加一個配置,我們將從一個模板Android項(xiàng)目開始:

在VS for Mac中創(chuàng)建一個新的“Android App”: New Project > Android > App > Android App.
在VS for Windows 創(chuàng)建一個 “Single-View App (Android)”: 創(chuàng)建new project… > Android > Single-View App (Android).

該模板創(chuàng)建了一個簡單的Android應(yīng)用程序,其中有一個點(diǎn)擊計(jì)數(shù)的按鈕。它有兩個配置默認(rèn)設(shè)置,Debug和Release,和一個平臺,AnyCPU。這些只是沒有任何內(nèi)在含義的名字,除了考慮使用配置時。隨后我們將增加兩個新配置,名字叫DebugDevice 和DebugEmulator。這將使我們能夠在調(diào)試到設(shè)備(ARM)或仿真器(x86)時快速設(shè)置所需的項(xiàng)目選項(xiàng)/屬性。 每個只為設(shè)備或仿真器所需的架構(gòu)構(gòu)建,減少開發(fā)期間的構(gòu)建時間。

首先,讓我們看看兩個默認(rèn)Debug和Release配置之間有什么不同。為此,右鍵單擊“解決方案資源管理器”中的項(xiàng)目并選擇“選項(xiàng)”(VS for Mac)或“屬性”(VS for Windows),打開項(xiàng)目屬性。一旦項(xiàng)目選項(xiàng)/屬性打開,您將在下拉列表中看到配置和平臺字段,選擇要查看屬性設(shè)置的配置和平臺。 

揭秘生成配置

揭秘生成配置

下拉可能不存在(VS for Mac)或禁用(VS for Windows),這意味著您選擇的設(shè)置頁面上的設(shè)置是全局的,即它們將應(yīng)用于所有配置和平臺。你能夠在構(gòu)建>全局設(shè)置而查看(VS for Mac)或者在應(yīng)用設(shè)置頁查看(VS for Windows)。 默認(rèn)Debug和Release配置的項(xiàng)目設(shè)置中的大部分差異在上面所示的Android構(gòu)建/ Android選項(xiàng)設(shè)置頁面中。打開項(xiàng)目選項(xiàng)/屬性,在左側(cè)選擇Android構(gòu)建(VS for Mac)/ Android選項(xiàng)(VS for Windows)。確保在配置下拉的頂部選擇Debug。注意在VS for Mac中選擇了“Use Shared Mono Runtime”或者在VS for Windows中選擇了“Use Shared Runtime” ,以及 “Fast Assembly Deployment” (VS for Mac) / “Use Fast Deployment” (VS for Windows) 選項(xiàng)。

 這些都是調(diào)試時的好選擇,因?yàn)樗鼈冊陂_發(fā)應(yīng)用程序時會減少構(gòu)建和部署時間,但是他們根本不擅長構(gòu)建一個Release版本,因?yàn)榻K端用戶不太可能在他們的Android設(shè)備上安裝一個共享的單運(yùn)行時,所以應(yīng)用程序根本就不能運(yùn)行,因?yàn)楦揪蜎]有運(yùn)行時。對于Release 構(gòu)建你要禁用這個選項(xiàng)。如果現(xiàn)在在配置中選擇Release版,在頂部下拉,您將看到默認(rèn)Release版本配置禁用了這些選項(xiàng)。

您可以檢查各個配置的鏈接器行為:

在VS for Mac: 在Android構(gòu)建頁面中選擇“Linker”選項(xiàng)卡。你將看到在Debug配置中 “Linking Behaviour”設(shè)置為 “Don’t Link” 面在Release配置中設(shè)置為 “Link SDK assemblies only” 。
在VS for Windows: 在Android選項(xiàng)頁面中滾動到“Linker Properties” 一節(jié)。你將看到在Debug配置中 “Linking” 選項(xiàng)被設(shè)置為 “None” 而在Release配置中設(shè)置為 “SDK assemblies only”。

這些默認(rèn)選項(xiàng)允許在調(diào)試期間更快地生成,并為您的版本構(gòu)建提供更小的應(yīng)用程序包。
在高級選項(xiàng)卡(Mac)/按鈕(Windows)允許你設(shè)置當(dāng)你構(gòu)建Debug或Release時使用哪種CPUs(ABIs)。請注意,默認(rèn)情況下Debug配置允許為所有可能的CPUs構(gòu)建。您構(gòu)建的每一個CPU都需要時間,因此,精簡這一點(diǎn)可能很好,所以我們只為CPU構(gòu)建,我們將運(yùn)行應(yīng)用程序。如果我們只測試x86仿真器,然后我們只能建立x86和取消選擇其他不需要的Abis。繼續(xù)取消選擇所有但x86使用高級選項(xiàng)/按鈕。

祝賀你,您現(xiàn)在剛剛編輯了一個配置。編輯配置就像打開項(xiàng)目選項(xiàng)/屬性一樣簡單,選擇要更改設(shè)置的配置,并更改這些設(shè)置。

如何添加配置?

如果調(diào)試過程中只需選擇一個配置,就可以輕松地選擇在哪一個體系結(jié)構(gòu)上構(gòu)建,這不是很好嗎?如果調(diào)試設(shè)備我選擇一個配置,DebugDevice,如果是為模擬器構(gòu)建,我選擇DebugEmulator。讓我們把那個設(shè)置好。

Visual Studio for Mac:

在Visual Studio for Mac中添加一個配置:

  1. 在解決方案瀏覽器中雙擊解決方案來打開解決方案選項(xiàng)。

  2. 選擇左側(cè)的 Build > Configurations on the left (不是 Run > Configurations).
    揭秘生成配置

  3. 因?yàn)槲覀冃枰狣ebug配置的變體,在“配置”列表中選擇Debug并單擊“Copy”。這將拷貝當(dāng)前的Debug設(shè)置到你的新配置中。

  4. 輸入這個配置的名字,比如DebugDevice。

  5. 平臺保持默認(rèn)的Any CPU選項(xiàng)。

  6. 點(diǎn)擊“OK”。

  7.  在DebugEmulator配置中重復(fù)4-8步。

Visual Studio (Windows):

在 Visual Studio (Windows)中添加一個配置:

  1. 通過Build > Configuration Manager菜單中,打開配置管理器。

  2. 點(diǎn)擊Active Solution Configuration下拉框并選擇 “New”。
    揭秘生成配置

  3. 在名字字段輸入 DebugDevice。

  4. 在 “Copy settings from”下拉列表選擇Debug。

  5. 確保選中了 “Create new project configurations” 選項(xiàng)。
    揭秘生成配置

  6. 點(diǎn)擊OK。

  7.  2 – 6 在名字字段使用ebugEmulator,并重復(fù)2 – 6步。

現(xiàn)在,在列表中你將看到四個配置項(xiàng),Debug, DebugDevice, DebugEmulator, 以及Release。    

揭秘生成配置
揭秘生成配置

現(xiàn)在,您只需打開Android項(xiàng)目選項(xiàng)并對這兩個新配置進(jìn)行所需的更改:

  1. 打開 Android 項(xiàng)目選項(xiàng)。

  2.  選擇Android Build (Mac) / Android Options (Windows) > Advanced 選項(xiàng)卡。

  3. 從配置下拉列表選擇DebugDevice.

  4. 除了armeabi-v7a之外支持ABIs都取消選擇。

  5. 從配置下拉列表選擇DebugEmulator.

  6. 除了x86之外所有支持的ABIs都取消選擇。

你可以現(xiàn)在無論何時你想調(diào)試使用實(shí)際的Android設(shè)備的選擇DebugDevice,你可以當(dāng)你想調(diào)試一個x86模擬器選擇DebugEmulator。您的調(diào)試構(gòu)建會更快,因?yàn)槟粸樗璧捏w系結(jié)構(gòu)構(gòu)建。

祝賀您,現(xiàn)在已經(jīng)添加了兩個配置,并為特定調(diào)試場景設(shè)置它們。

如何添加平臺?

我們所做的工作是可行的,但是在設(shè)備或仿真器的構(gòu)建之間定義平臺而不是配置可能更好。您會注意到這是默認(rèn)的IOS項(xiàng)目。有iOS項(xiàng)目定義兩個平臺,iPhone 和iPhoneSimulator。如果我們喜歡,我們也可以這樣做。對于這個練習(xí),開始一個新的Xamarin形式工程,PCL或共享型不該鍛煉。

揭秘生成配置

揭秘生成配置

Visual Studio for Mac:

在Xamarin/Visual Studio for Mac添加一個平臺:

  1. 在解決方案瀏覽器中通過雙擊解決方案打開解決方案選項(xiàng)。

  2. 在左側(cè)選擇Build > Configurations (不是Run > Configurations)。

  3. 選擇General 選項(xiàng)卡。

  4. 因?yàn)槲覀兿胍狣ebug配置的變體,在配置列表選擇Debug并點(diǎn)擊 “Copy”.。這將拷貝當(dāng)前的Debug設(shè)置到你的新配置中:
    揭秘生成配置

  5. 輸入配置名字,在這個選項(xiàng)中保存和Debug相同的配置,因?yàn)槲覀冎幌胩砑右粋€平臺而不是一個配置。

  6. 在平臺字段輸入名字AndroidDevice.

  7. 確保 “Create Configurations for all solution items” 選項(xiàng)沒被選中。我們只需要這個平臺的Android項(xiàng)目。如果選擇了這個選項(xiàng),我們也會將這個平臺添加到iOS項(xiàng)目中。
    揭秘生成配置

  8. 點(diǎn)擊“OK”。

  9. 在名為AndroidEmulator的平臺中重復(fù)步驟4-8.

  10. 因?yàn)槲覀儧]有向項(xiàng)目添加這個新平臺(步驟7),我們需要在Android項(xiàng)目中重復(fù)步驟4-8,Options > Build > Configurations。為AndroidDevice 和ndroidEmulator 平臺都這樣做。
    揭秘生成配置

然后,您必須將解決方案定制平臺映射到項(xiàng)目自定義平臺:

  1. 打開Solution Options > Build > Configurations > Configuration Mappings 選項(xiàng)卡。

  2. 在最頂層的平臺字段選擇選擇AndroidDevice 平臺.

  3. 在Android應(yīng)用項(xiàng)目的配置列,選擇Debug|AndroidDevice。
    揭秘生成配置

  4. 在頂端的平臺字段選擇AndroidEmulator平臺。

  5. 在Android應(yīng)用項(xiàng)目的配置列,選擇Debug|AndroidEmulator.

現(xiàn)在,在主配置下拉列表,你將看到 Debug|AndroidDevice and Debug|AndroidEmulator。
.揭秘生成配置

您可以為每一個平臺編輯設(shè)置,就像之前設(shè)置的配置一樣,只要選擇要編輯平臺中的構(gòu)建設(shè)置的正確平臺就可以了。在Project Options > Android Build (Mac) 設(shè)置頁。

Visual Studio (Windows):

添加自定義平臺不直接在Visual Studio是Xamarin Studio。你可以在解決方案級別添加自定義平臺的名稱,但它添加在項(xiàng)目層面需要一些編輯的.csproj文件。 以下是如何在VisualStudio中實(shí)現(xiàn)所有這些:

添加解決方案級平臺:

  1. 通過 Build > Configuration Manager 菜單打開Configuration Manager。

  2. 點(diǎn)擊Active Solution Platform下拉列表并選擇“New”.
    揭秘生成配置

  3. 在名字字段輸入AndroidDevice.

  4. 在“Copy settings from”下拉列表選擇AnyCPU。

  5. 確保沒有選中 “Create new project configurations” 選項(xiàng)。在Android應(yīng)用項(xiàng)目沒有選擇一個AndroidDevice平臺時,如果選中它,你將會得到一個錯誤。
    揭秘生成配置

  6. 點(diǎn)擊OK。

  7. 在名字字段使用Androidmulator,重復(fù)步驟2 – 6。

現(xiàn)在最困難的部分是在Android應(yīng)用程序項(xiàng)目中添加新的平臺。

  1. 卸載Android應(yīng)用項(xiàng)目(右擊項(xiàng)目并選擇卸載)。

  2. 編輯AppName.csproj 文件(右鍵點(diǎn)擊項(xiàng)目并選擇 “編輯.csproj”)。

  3. 在打開的項(xiàng)目標(biāo)記下面粘貼下列XML:

    點(diǎn)擊(此處)折疊或打開

    1. <PropertyGroup Condition=" '$(Platform)' == 'AndroidDevice' ">

    2.   <DefineConstants>AndroidDevice</DefineConstants>

    3.   <PlatformTarget>AnyCPU</PlatformTarget>

    4. </PropertyGroup>

    5. <PropertyGroup Condition=" '$(Platform)' == 'AndroidEmulator' ">

    6.   <DefineConstants>AndroidEmulator</DefineConstants>

    7.   <PlatformTarget>AnyCPU</PlatformTarget>

    8. </PropertyGroup>

  4. 尋找以下元素:

    點(diǎn)擊(此處)折疊或打開

    1. <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">

  5. 選擇文本的所有上述PropertyGroup包括開幕式和閉幕PropertyGroup標(biāo)簽并將它復(fù)制。

  6. 粘貼文本兩次右下方的propertygroup標(biāo)簽上面復(fù)制的結(jié)局。

  7. 編輯已粘貼的屬性組,更改:

    點(diǎn)擊(此處)折疊或打開

    點(diǎn)擊(此處)折疊或打開

    上面是針對第一處拷貝的修改,下面是對第二處拷貝的修改

    點(diǎn)擊(此處)折疊或打開

    1. <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AndroidEmulator' ">

    2. <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AndroidDevice' ">

    3. <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">

  8. 不需要,但最好為每個平臺單獨(dú)outputpath,因此改變:

    點(diǎn)擊(此處)折疊或打開

    點(diǎn)擊(此處)折疊或打開

    這是針對第一處拷貝的修改。

    點(diǎn)擊(此處)折疊或打開

    這是對第二處拷貝的修改。

    1. <OutputPath>bin\AndroidEmulator\Debug</OutputPath>

    2. <OutputPath>bin\AndroidDevice\Debug</OutputPath>

    3. <OutputPath>bin\Debug</OutputPath>

然后,您必須將解決方案定制平臺映射到項(xiàng)目自定義平臺:

  1. 再次打開Configuration Manager。

  2. 為活動解決方案平臺選擇AndroidDevice.

  3. Android應(yīng)用項(xiàng)目的平臺列,選擇AndroidDevice。
    揭秘生成配置

  4. 為活動解決方案平臺選擇AndroidEmulator.

  5. 在Android應(yīng)用項(xiàng)目的平臺列選擇AndroidEmulator。

現(xiàn)在你將要開放的Android項(xiàng)目屬性和編輯配置|平臺設(shè)置,只有建立相關(guān)的體系結(jié)構(gòu),比如AndroidDevice的armeabi-v7s和AndroidEmulator的x86,就像你簡易的創(chuàng)建一個新配置。

揭秘生成配置

配置Mapping

當(dāng)我們添加上面的配置時,我勻?qū)⑺砑拥浇鉀Q方案級別,通過在Mac選擇“Create Configurations for all solution items”和在Windows選擇 “Create new project configurations”將他們添加到每一個項(xiàng)目中 (或者手動添加它們到.csproj 文件)。這樣,新配置在項(xiàng)目和解決方案級別上都是可用的。通過在Windows中使用Configuration Manager或者在Mac中使用Solution Options > Build > Configurations > Configuration Mappings選項(xiàng)卡將映射解決方案級別配置到項(xiàng)目級別配置中。 您將看到,對于每個項(xiàng)目,您可以選擇在配置下拉列表中選擇活動解決方案配置時將構(gòu)建哪個項(xiàng)目配置。

還可以設(shè)置每個解決方案配置生成的項(xiàng)目。如果您有一個多個應(yīng)用程序項(xiàng)目的解決方案,您可以添加一個配置,只用于構(gòu)建當(dāng)時需要的項(xiàng)目。  對于Xamarin Forms 應(yīng)用(或者對于包含多個平臺的某些解決方案),您可能需要添加只構(gòu)建IOS項(xiàng)目的配置(如果使用了PCL項(xiàng)目),一個只構(gòu)建Android項(xiàng)目(如果使用了PCL項(xiàng)目)。這將再次加快構(gòu)建時間,因此您只為正在調(diào)試的平臺構(gòu)建。

揭秘生成配置

揭秘生成配置

在 .csproj 文件中配置和MSBuild屬性

我們簡單地接觸的.csproj文件自UI沒有提供這樣的辦法在Xamarin Studio在Visual Studio應(yīng)用程序項(xiàng)目中添加自定義平臺時。主要是你會不會編輯.csproj文件但我覺得它是有用的至少接觸的項(xiàng)目.csproj文件受影響的當(dāng)你切換活動配置|平臺IDE。

當(dāng)我們添加一個自定義平臺之上,我們兩次拷貝和粘貼一個PropertyGroup添加到新平臺并且設(shè)置新平臺的構(gòu)建輸出路徑。所使用的每個配置的屬性組是一套簡單的MSBuild屬性和值時將使用相應(yīng)的配置|平臺組合選擇建立。例如,下面的屬性組時將使用的Debug|AnyCPU 時選中Configuration|Platform:

點(diǎn)擊(此處)折疊或打開

  1. <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">

  2. ...

  3. </PropertyGroup>

當(dāng)遇到條件 '$(Configuration)|$(Platform)' == 'Debug|AnyCPU',然后在那組MSBuild屬性的值將被使用。例如,您會在上面的屬性組中找到下面的內(nèi)容:

點(diǎn)擊(此處)折疊或打開

  1. <AndroidLinkMode>None</AndroidLinkMode>

這集的鏈接器選項(xiàng)“None”當(dāng)使用Debug|AnyCpu Configuration|Platform組合。你的配置和平臺的真的只是一個讓你把一堆MSBuild屬性只是選擇為你建立一個配置|平臺特定的值。如果從命令行生成,您可以手動設(shè)置任何可用的MSBuild屬性使用/p:MSBuildProperty=value 語法。換句話說,如果您想從命令行構(gòu)建Debug|AnyCPU Configuration|Platform 同時還想使用 “Link SDK Assemblies Only”,你將按照如下方式配置(Windows):

點(diǎn)擊(此處)折疊或打開

  1. MSBuild.exe MySolution.csproj /p:Configuration=Debug /p:Platform=AnyCPU /p:AndroidLinkMode=SdkOnly

…或者在Mac:

點(diǎn)擊(此處)折疊或打開

  1. MSBuild MySolution.csproj /p:Configuration=Debug /p:Platform=AnyCPU /p:AndroidLinkMode=SdkOnly

你看到的任何屬性都定義在.csproj文件中的一個PropertyGroup定義,可能通過命令行構(gòu)建時使用/p:PropertyName=PropertyValue 開切換一個值。在MSBuild命令行引用 中查閱更多信息。

總結(jié)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文題目:揭秘生成配置-創(chuàng)新互聯(lián)
標(biāo)題來源:http://muchs.cn/article2/cddjic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、定制開發(fā)、外貿(mào)建站網(wǎng)站制作、微信小程序、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化