元件程式庫是一種特殊類型的畫布應用程式,可以包含一或多個畫布元件。 然後,環境中的所有其他畫布應用程式都可以使用這些程式庫元件。 此功能可讓您在環境中的所有應用程式之間建立可重複使用的共用元件,這與僅限於一個應用程式的 應用程式層級元件 不同。
若要使用元件庫中的元件,您必須先將元件匯入畫布應用程式。 匯入後,您可以將元件新增至任何應用程式畫面。 元件程式庫中元件定義中的任何更新都會提示您 視需要檢 閱並合併變更,或在 開啟應用程式進行編輯時。 元件庫和相依應用程式也可以使用標準 Microsoft Dataverse 解決方案移至另一個環境。
備註
在本文中,術語「匯入」是指將元件從元件庫匯入應用程式,不應與將解決方案匯入 Dataverse 混淆。
將元件程式庫中的元件匯入畫布應用程式時,該元件的定義會複製到畫布應用程式的定義中。 匯入元件定義後,就該元件定義而言,應用程式是「獨立的」。 應用程式製作者可以選擇 編輯元件,並在應用程式內建立元件的本機執行個體。 此時,沒有直接連結至元件來源的元件程式庫。 如果畫布應用程式隨後移轉至元件程式庫不存在的不同環境,則此自我包含特性也適用。 您可以繼續在目標環境中的應用程式內建立匯入元件定義的執行個體,且應用程式仍可發佈和播放。 在此情況下,取用應用程式中不會提示或接收新的更新。
若要維護應用程式與元件程式庫的關係,請確定您使用元件程式庫對元件進行任何變更,而不是在取用應用程式內編輯元件。
畫布應用程式和元件庫解決方案支援
與其他解決方案物件相依性一致,如果畫布應用程式從元件庫匯入畫布元件,它將具有該元件庫的相依性。 若要將應用程式移至新環境,您必須將元件程式庫封裝在相同的解決方案內,或將其安裝為必要條件。 應用程式與元件程式庫相依性會在目標環境中維護。 稍後,當使用解決方案將具有更新元件的元件庫匯入目標環境時,現有應用程式會使用一般 元件更新流程取得新的元件定義。
在解決方案中建立和匯出元件程式庫
您可以直接從解決方案內建立元件程式庫,或將它新增至現有的解決方案。
當元件程式庫儲存在具有 Dataverse 可用環境的環境中時,元件程式庫會自動新增至預設解決方案。 會為元件程式庫產生具有 「預設 CDS 發行者」 字首的唯一邏輯名稱。 此行為是為了確保解決方案系統知道其存在,並可以連結使用元件庫邏輯名稱之應用程式的相依性。
備註
在推出元件程式庫 ALM 功能之前建立的元件程式庫必須編輯、發佈,而且必須先明確關閉編輯器,才能啟用 ALM 功能。 您可以透過預設解決方案中的元件,來檢查元件程式庫的 ALM 就緒狀態。
解決方案內的元件程式庫也支援 允許自訂 受控屬性,以控管目標環境中元件程式庫的行為。
如果您關閉此設定,並將解決方案匯出至目標環境,您將無法編輯元件程式庫。
元件庫相依性
使用元件庫中元件的應用程式會在解決方案基礎結構中標示為相依。 此行為適用於新增至指定環境中任何 Dataverse 解決方案的所有應用程式。 您仍然可以在解決方案之外建立應用程式,但這些應用程式不會有任何解決方案相依性。 您稍後可以將這些應用程式新增至解決方案,讓它們成為解決方案 ALM 的一部分。
如果您匯入的解決方案只具有使用元件程式庫中元件的應用程式,但不包括該元件程式庫,您將會看到以下訊息:
「匯入失敗,因為缺少應用程式名稱<的>相依性」。
在此情況下,您可以選擇先安裝元件程式庫解決方案,或將元件程式庫與包含畫布應用程式的解決方案捆綁在一起。 任一步驟都會確保應用程式會在目標環境中建立相依性。
當程式庫更新並透過解決方案匯入較新的元件版本時,應用程式會收到通知,並在 開啟應用程式進行編輯時收到更新。
備註
如果元件庫受控屬性 [允許自定義] 已關閉,則無法在目標環境中編輯元件庫。
相依性是根據應用程式最新發佈的狀態來計算。 如果您還原不使用程式庫元件的舊版應用程式,則會從應用程式和解決方案中移除相依性。 將元件從元件程式庫匯入應用程式而不實際使用,也會建立相依性,因為未使用的程式庫元件仍可在應用程式內使用,以供日後使用。
小提示
從使用應用程式內部的元件程式庫中編輯元件會建立一個本機複本。 此時,程式庫元件仍可透過「 插入」 窗格使用。 若要完全移除相依性,請從插入>元件庫>…(省略號)>從應用程式移除中刪除該元件。
最佳做法和疑難解答
將程式庫中的元件數目限制為 20 個,以獲得最佳效能。 提前規劃和建立多個元件庫,因為其中的元件數量可能會隨著時間的推移而增加。 這種方法還將減少解決方案的負載量,因為應用程式在環境中移動。
從元件程式庫發佈到應用程式可以使用時,會有延遲,最多可能需要 5 分鐘。
如果應用程式無法從安裝解決方案的目標環境中的程式庫元件接收更新,請使用下列動作進行檢查:
- 對目標環境中元件資源庫所做的變更位於元件的最上層。 隨後,這些自訂定義了元件的執行時期行為。 若要移除這些非受管理的自訂,請參閱 移除非受管理的層。
- 從解決方案檢視中決定元件庫邏輯名稱。 如果程式庫未明確新增至解決方案,請使用預設解決方案。
- 使用檔案>另存新檔>此電腦,將使用元件庫的應用程式下載至本機電腦。 將下載的檔案重新命名為具有 .zip 副檔名,然後解壓縮套件。 開啟 Properties.json 檔案,然後搜尋關鍵字「LibraryDependencies」。 您應該會看到相符的程式庫邏輯名稱。
- 如果您要使用解決方案,請檢查畫布應用程式是否已正確將元件程式庫識別為 解決方案相依性。 如果解決方案未正確將元件程式庫識別為解決方案相依性,則表示尚未正確建立元件程式庫連結的應用程式相依性。 在這種情況下,請諮詢解決方案提供者以解決問題。
- 如果您是解決方案發行者,請檢查元件程式庫是否以程式庫邏輯名稱儲存在解決方案中,而且與元件程式庫 .msapp 套件中參考的程式庫相同。
解決方案匯出一律會匯出元件程式庫的最新版本。 因此,在透過解決方案匯出應用程式之前,請務必使用最新的元件版本更新應用程式。 此動作可確保應用程式具有與最新版本元件程式庫中可用的元件版本相同的元件版本。 應用程式和程式庫在第一次移至目標環境時,會被視為彼此同步;因此,編輯應用程式時不會提示您提供任何可用更新。