코드 생성 도구(CrmSvcUtil.exe)를 사용하여 초기 바인딩 엔터티 클래스 만들기
게시 날짜: 2017년 1월
적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
CrmSvcUtil.exe는 Microsoft Dynamics 365(온라인 및 온-프레미스)에 사용하는 명령줄 코드 생성 도구입니다. 이 도구는 Microsoft Dynamics 365에서 사용되는 엔터티 데이터 모델을 나타내는 초기 바인딩 .NET Framework 클래스를 생성합니다. 이 도구는 SDK 패키지의 SDK\Bin 폴더에 있습니다. Microsoft Dynamics CRM SDK 패키지를 다운로드합니다.
이 항목의 내용
코드 생성 도구 정보
코드 생성 도구 실행
매개 변수
사용법 예제
구성 파일 사용
추적 사용
코드 생성 도구 정보
CrmSvcUtil.exe 도구는 조직의 엔터티에 대한 강력한 유형의 클래스가 포함된 Microsoft Visual C# 또는 Microsoft Visual Basic .NET 출력 파일을 만듭니다. 여기에는 사용자 지정 엔터티 및 특성이 포함됩니다. 이 출력 파일에는 사용자 지정 코드를 작성할 때 도움이 되도록 Microsoft Visual Studio에서 IntelliSense 지원 및 초기 바인딩을 제공하는 각 엔터티에 대해 하나의 클래스가 포함됩니다. 생성된 클래스는 별도의 파일에서 사용자 지정 비즈니스 논리로 확장될 수 있는 partial 클래스입니다. 이 도구에 대한 확장을 만들 수도 있습니다. 자세한 내용은 코드 생성 도구에 대한 확장 만들기을 참조하십시오.
이 도구는 엔터티 데이터 모델에서 엔터티 컨테이너로 동작하는 OrganizationServiceContext 클래스에서 파생된 클래스를 생성하는 데 사용할 수도 있습니다. 이 서비스 컨텍스트는 변경 내용 추적, ID 관리, 동시성 및 관계에 대한 기능을 제공합니다. 이 클래스는 Microsoft Dynamics 365에서 레코드를 삽입, 업데이트 및 삭제하는SaveChanges 메서드도 노출합니다. 자세한 내용은 OrganizationServiceContext 클래스 사용을 참조하십시오.
코드 생성 도구는 만들어진 파일의 내용을 결정하는 몇 가지 매개 변수를 사용합니다. 매개 변수는 도구를 실행할 때 명령줄에서 또는 .NET 연결 응용 프로그램 구성 파일에서 전달할 수 있습니다.
코드 생성 도구로 만든 클래스는 Microsoft Dynamics 365을 사용하는 프로젝트에서 참조할 수 있는 클래스 라이브러리로 빌드되도록 설계되어 있습니다. 도구를 사용하여 클래스 파일을 생성한 후에는 파일을 Visual Studio 프로젝트에 추가해야 합니다. 또한 생성된 클래스가 종속되는 여러 어셈블리에 참조를 추가해야 합니다.
생성된 코드 파일을 사용할 때 프로젝트에서 참조해야 하는 다음과 같은 어셈블리가 나와 있습니다.
Microsoft.Crm.Sdk.Proxy.dll
Microsoft.Xrm.Sdk.dll
어셈블리는 SDK의 SDK\Bin 폴더에서 찾을 수 있습니다. 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에 로그인하는 데 사용되는 사용자 이름을 입력합니다.설정을 선택하고 사용자 지정으로 이동한 후 개발자 리소스를 선택하여 웹 응용 프로그램에서 올바른 URL을 조회할 수 있습니다. URL은 조직 서비스 아래에 표시됩니다.
지원되는 명령줄 매개 변수를 나열하려면 다음 명령을 사용합니다.
CrmSvcUtil.exe /?
Microsoft 계정 ID 공급자를 사용하여 Microsoft Dynamics 365(온라인)에 대해 도구를 실행할 경우 명령줄에서 더 이상 deviceid 및 devicepassword 매개 변수를 제공할 필요가 없습니다. 도구는 자동으로 장치를 등록합니다. 하지만 수동으로 장치를 등록하고 여기에서 설명한 대로 먼저 DeviceRegistration 코드 샘플을 컴파일하고 실행하여 이러한 매개 변수에 대한 값을 가져올 수 있습니다.
개별 장치 ID 및 암호 생성
DeviceRegistration 프로젝트를 열고 빌드합니다. SDK\Tools\DeviceRegistration\DeviceRegistration.csproj.
명령줄에서 실행 파일을 실행합니다. 장치를 등록하려면 /operation 매개 변수를 Register로 설정합니다.
C:\deviceregistration.exe /operation:Register
CrmSvcUtil 도구를 실행할 때 표시된 장치 ID 와 암호 값을 복사하여 deviceid 및 devicepassword 매개 변수 값으로 사용합니다.
매개 변수
다음 표에는 코드 생성 도구 매개 변수와 이 매개 변수 사용에 대한 간단한 설명이 나와 있습니다.
매개 변수 |
바로 가기 |
설명 |
필수 참석자 |
---|---|---|---|
deviceid |
di |
인증을 위해 온라인 서버에 연결할 때 사용된 장치 ID입니다. 장치 ID가 %USERPROFILE%\LiveDeviceID 폴더의 디스크에 저장되지 않은 경우에만 필요합니다.Microsoft 계정 ID 공급자에만 사용됩니다. |
거짓 |
devicepassword |
dp |
인증을 위해 온라인 서버에 연결할 때 사용한 장치 암호입니다. 장치 암호가 %USERPROFILE%\LiveDeviceID 폴더의 디스크에 저장되지 않은 경우에만 필요합니다.Microsoft 계정 ID 공급자에만 사용됩니다. |
거짓 |
domain |
d |
서버에 연결할 때 인증할 도메인입니다. |
거짓 |
url |
조직 서비스의 URL입니다. |
참 |
|
out |
o |
생성된 코드에 대한 파일 이름입니다. |
참 |
language |
l |
코드를 생성하는 언어입니다.“CS” 또는 “VB”일 수 있습니다. 기본값은 “CS”입니다. |
거짓 |
namespace |
n |
생성된 코드에 대한 네임스페이스입니다. 기본값은 전역 네임스페이스입니다. |
거짓 |
username |
u |
인증을 위해 서버에 연결할 때 사용할 장치 이름입니다. |
거짓 |
암호 |
p |
인증을 위해 서버에 연결할 때 사용할 암호입니다. |
거짓 |
servicecontextname |
생성된 조직 서비스 컨텍스트 클래스의 이름입니다. 값이 제공되지 않으면 서비스 컨텍스트가 만들어지지 않습니다. |
거짓 |
|
help |
? |
사용법 정보를 표시합니다. |
거짓 |
nologo |
런타임 시 배너를 표시하지 않습니다. |
거짓 |
|
generateActions |
동작에 대한 요청 및 응답 클래스를 생성합니다. |
||
interactivelogin |
il |
true로 설정된 경우, Dynamics 365 서비스에 로그인하는 대화가 표시됩니다. 명령줄에 지정된 다른 모든 연결 관련 매개 변수는 무시됩니다. |
거짓 |
connectionstring |
connstr |
Dynamics 365 조직에 연결하기 위한 단일 문자열로 제공되는 정보가 들어 있습니다. 명령줄에 지정된 다른 모든 연결 관련 매개 변수는 무시됩니다. 자세한 내용은 XRM 도구의 연결 문자열을 사용하여 Dynamics 365에 연결를 참조하십시오. |
거짓 |
사용법 예제
다음 예제에서는 각 배포 유형에 대해 명령줄에서 코드 생성 도구를 사용하는 방법을 보여 줍니다. 사용자 이름 및 암호는 선택적 매개 변수입니다. 대상 Microsoft Dynamics 365 서버에 대한 자격 증명이 Windows 자격 증명 저장소에 저장되어 있을 경우 코드 생성 도구를 실행하기 위해 해당 자격 증명을 제공할 필요가 없습니다.
클레임 인증 – Active Directory
다음 샘플에서는 Active Directory에서 클레임 인증을 사용하여 코드 생성 도구를 실행하는 방법을 보여 줍니다. 이 샘플 서버는 TLS(Transport Layer Security) 또는 SSL(Secure Sockets Layer)를 사용하므로 https를 사용합니다.
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 계정 ID 공급자용이고 두 번째는 Office 365 ID 공급자용입니다.
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 섹션에서 표준 키/값 쌍을 사용합니다. 하지만 명령줄에서 값을 입력할 경우 구성 파일의 값 대신 해당 값이 사용됩니다. 예상 매개 변수와 일치하지 않는 응용 프로그램 구성 파일에 있는 모든 키/값 쌍은 무시됩니다.
url 및 namespace 매개 변수는 구성 파일에 포함하지 마십시오. 이러한 매개 변수는 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 웹 서비스를 사용하여 간단한 프로그램 실행
Microsoft Dynamics 365
© 2017 Microsoft. All rights reserved. 저작권 정보