共用方式為


使用程式碼產生工具 (CrmSvcUtil.exe) 建立早期繫結實體類別

 

發行︰ 2017年1月

適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

CrmSvcUtil.exe 是命令列程式碼產生工具,與 Microsoft Dynamics 365 (線上和內部部署) 一起使用。 此工具產生早期繫節的 .NET Framework 類別,代表由 Microsoft Dynamics 365 使用的實體資料模型。 此工具在 SDK\Bin 資料夾中的 SDK 套件裡。 下載 Microsoft Dynamics CRM SDK 套件。

本主題內容

關於程式碼產生工具

執行程式碼產生工具

參數

用法範例

使用設定檔

啟用追蹤

關於程式碼產生工具

CrmSvcUtil.exe 工具會建立一包含組織實體的強類型的 Microsoft Visual C# 或 Microsoft Visual Basic .NET 輸出檔案。 其中包括自訂實體和屬性。 此輸出檔案為每個實體包入一個類別,提供早期繫結以及在 Microsoft Visual Studio 中提供 IntelliSense 支援,幫助您撰寫自己的程式碼。 產生的類別是可在不同檔案中用自訂商務規則擴充的部分類別。 您也可以為此工具建立擴充。 如需詳細資訊,請參閱建立碼產生工具擴充功能

工具也可用來產生來自 OrganizationServiceContext 類別衍生的實體資料模型中的實體容器。 此服務的背景提供機構使用追蹤變更和管理身分、合併與關聯。 此類別顯示在 Microsoft Dynamics 365 的記錄中的 SaveChanges 插入,更新,與刪除的方法。 如需詳細資訊,請參閱使用 OrganizationServiceContext 類別

程式碼產生工具使用多種參數來決定建立檔案中的內容。 執行工具或是與 .NET 連線的應用程式設定檔案時,可以從命令列傳遞參數。

由程式碼產生工具建立的類別,是設計用於建置到可以使用 Microsoft Dynamics 365 專案參照的類別庫。 在您使用了工具產生了類別檔案之後,您必須將檔案新增至 Visual Studio 專案中。 您也必須新增多個組件的參照,讓產生的類別可以與其相依。

使用產生程式碼的檔案時,下列的清單組件必須參照您的專案。

  • Microsoft.Crm.Sdk.Proxy.dll

  • Microsoft.Xrm.Sdk.dll

這些組件可以在 SDK\Bin SDK 資料夾中找到。 下載 Microsoft Dynamics CRM SDK 套件。

執行程式碼產生工具

從 SDK\Bin 資料夾執行 CrmSvcUtil.exe 工具。 如果您從其他資料夾位置執行該工具,請確定 Microsoft.Xrm.Sdk.dll 組件的複本位於相同的資料夾中。

下列範例顯示從命令列執行 Microsoft Dynamics 365 的內部部署安裝工具的格式。 您提供安裝時使用的參數值。

    CrmSvcUtil.exe /url:http://<serverName>/<organizationName>/XRMServices/2011/Organization.svc    /out:<outputFilename>.cs /username:<username> /password:<password> /domain:<domainName>    /namespace:<outputNamespace> /serviceContextName:<serviceContextName>

下列範例顯示使用 Microsoft Dynamics 365 (線上) 從命令列執行此工具的格式。 您需要提供適用於公司客戶與伺服器的參數值。

    CrmSvcUtil.exe /url:https://<organizationUrlName>.api.crm.dynamics.com/XRMServices/2011/Organization.svc    /out:<outputFilename>.cs /username:<username> /password:<password>     /namespace:<outputNamespace> /serviceContextName:<serviceContextName>

對於 username 參數,輸入用來登入 Microsoft 帳號 或 Microsoft Office 365的使用者名稱。 您可以透過選擇 [設定],前往 [自訂],然後選擇 [開發人員資源] 在 Web 應用程式中尋找正確的 URL。 此 URL 會顯示在 [組織服務] 之下。

若要列出支援的命令列參數,請使用下列指令。

    CrmSvcUtil.exe /?

使用 Microsoft 帳號 身分識別提供者來執行工具 Microsoft Dynamics 365 (線上) 時,您不再需要於命令列中提供 deviceiddevicepassword 參數。 工具會自動註冊您的裝置。 不過,您可以手動註冊裝置以及取得參數值,首先要依照此處描述來編譯和執行 DeviceRegistration 程式碼的範例。

產生您的個人裝置 ID 與密碼

  1. 開啟並建立 DeviceRegistration 專案:SDK\Tools\DeviceRegistration\DeviceRegistration.csproj。

  2. 在命令列執行可執行檔。 若要註冊裝置,設定 /operation 參數至 Register

        C:\deviceregistration.exe /operation:Register
    
  3. 當您執行 CrmSvcUtil 工具時,請複製顯示於畫面中的設備識別 ID 和密碼,並用它們做為 deviceiddevicepassword 參數值。

參數

下表列出程式碼產生工具參數,並簡短描述其用途。

參數

捷徑

描述

出席者

deviceid

di

當您連到伺服器時,將會在驗證時使用裝置 ID。 只在裝置 ID 未儲存在資料夾 %USERPROFILE%\LiveDeviceID 時才會需要。 只使用於 Microsoft 帳號 識別提供者。

FALSE

devicepassword

dp

當您連到伺服器時,將會在驗證時使用裝置密碼。 只在裝置密碼未儲存在資料夾 %USERPROFILE%\LiveDeviceID 時才會需要。 只使用於 Microsoft 帳號 識別提供者。

FALSE

domain

d

當您連線至伺服器會驗證網域。

FALSE

url

組織服務的 URL。

TRUE

out

o

產生程式碼的檔案名稱。

TRUE

language

l

用來產生程式碼的語言。 這可以是 “CS” 或 “VB”。 預設值是 “CS”。

FALSE

namespace

n

所產生程式碼的命名空間。 預設為全域的命名空間。

FALSE

username

u

當您連到伺服器時,將會使用使用者名稱。

FALSE

密碼

p

當您連到伺服器時,將會使用密碼。

FALSE

servicecontextname

所產生組織服務內容類別的名稱。 如果沒有提供值,則不會建立服務內容。

FALSE

help

?

顯示使用方式資訊。

FALSE

nologo

可在執行階段抑制橫幅廣告。

FALSE

generateActions

針對動作產生請求與回覆類別。

互動式登入

il

設定為 true 時,會顯示登入 Dynamics 365 服務的對話方塊。 命令列上指定的所有其他連接相關參數都會被忽略。

FALSE

連接字串

connstr

包含資訊,做為單一字串提供,用於連接至 Dynamics 365 組織。 命令列上指定的所有其他連接相關參數都會被忽略。 如需詳細資訊,請參閱在 XRM 工具中使用連接字串連線至 Dynamics 365

FALSE

用法範例

下列範例顯示如何針對每個部署類型,在命令列使用程式碼產生工具。 請注意使用者名稱和密碼為選用參數。 如果用於目標 Microsoft Dynamics 365 伺服器的認證儲存在 Windows 認證庫中,便不需要提供這些資訊就能執行程式碼產生工具。

宣告驗證 – Active Directory

以下範例將顯示如何在 Active Directory 中透過使用宣告驗證來執行程式碼產生工具。 請注意,使用 https 是因為範例伺服器使用 傳輸層安全性 (TLS) 或安全通訊端層 (SSL)。

    CrmSvcUtil.exe /url:https://myport:555/MyOrg/XRMServices/2011/Organization.svc /out:GeneratedCode.cs
       /username:administrator /password:password

Microsoft Dynamics 365 (線上)

下列範例顯示如何針對 Microsoft Dynamics 365 (線上)執行程式碼產生工具。 第一個範例是針對 Microsoft 帳號 識別提供者,而第二個則是針對 Office 365 識別提供者。

    CrmSvcUtil.exe /url:https://myorg.api.crm.dynamics.com/XRMServices/2011/Organization.svc    /out:GeneratedCode.cs /username:"myname@live.com" /password:"myp@ssword!" 
    CrmSvcUtil.exe /url:https://myorg.api.crm.dynamics.com/XRMServices/2011/Organization.svc    /out:GeneratedCode.cs /username:"myname@myorg.onmicrosoft.com" /password:"myp@ssword!" 

宣告驗證 - IFD

以下範例將顯示如何使用宣告驗證來執行程式碼產生工具。

    CrmSvcUtil.exe /url:https://myorg.crm.com:555/XRMServices/2011/Organization.svc     /out:GeneratedCode.cs /username:administrator /password:p@ssword! 

使用設定檔

CrmSvcUtil.exe.config 設定檔必須在相同資料夾做為 CrmSvcUtil.exe 工具。 設定檔在 appSettings 區段使用標準金鑰或值組。 不過,如果在命令列輸入值,該值將會被使用,而非使用設定黨內的值。 任何在應用程式設定檔中的金鑰/值組不符合任何預期的參數時,將會被忽略。

勿納入設定檔中的 urlnamespace 參數。 這些項目必須在 CrmSvcUtil.exe 工具執行時於命令列中輸入。

下列範例顯示如何設定輸出檔案,以及在應用程式設定檔中使用快速鍵來設定網域名稱參數。

<appSettings>    <add key="o" value="CrmProxy.cs"/>    <add key="d" value="mydomain"/></appSettings>

啟用追蹤

若要在執行工具時啟用追蹤,請在設定檔中加入下列文字:

<system.diagnostics> 
   <trace autoflush="false" indentsize="4"> 
      <listeners> 
         <add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener"> 
            <filter type="System.Diagnostics.EventTypeFilter" initializeData="Error" /> 
         </add> 
      </listeners> 
   </trace> 
</system.diagnostics>

如需支援的追蹤選項的詳細資訊,請參閱為 XRM 工具設定追蹤

另請參閱

開發人員工具
瀏覽組織的中繼資料
建立碼產生工具擴充功能
使用早期繫結實體類別,進行建立、更新和刪除
疑難排解提示
使用 Microsoft Dynamics 365 Web 服務執行簡單的程式

Microsoft Dynamics 365

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權