Swagger로 WebAPI 용 클라이언트 코드를 생성하려고합니다. 필자는 보통 WebAPI를 배포 한 후 메타 데이터 json 파일을 다운로드 한 다음 클라이언트 클래스 라이브러리에 대해 "Add-> Rest API Client .."옵션을 사용하여이 작업을 수행합니다.사용할 때 다른 클라이언트 출력 Autorest.exe 대 ADD-> 나머지 API 클라이언트
이렇게하면 원하는 프로젝트에 클라이언트 라이브러리가 생성되어 정상적으로 작동합니다. 하지만 Autorest.exe를 사용하여이 프로세스를 자동화하려고합니다. 나는
string filename = @"C:\Users\xxxx\packages\AutoRest.0.9.7\tools\AutoRest.exe";
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.FileName = filename;
startInfo.Arguments = "-CodeGenerator CSharp -Modeler CompositeSwagger -Input http://WebAPIDomainNameGoesHere:80/swagger/docs/v1 -Namespace CESOutboundAPI.ClientLibrary";
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();
아래와 같이 클라이언트 코드 그러나 (빌드되지 않음)이 작동하지 않습니다 새로 생성 된 클라이언트 코드를 생성 할 parameters와 에게 Autorest.exe을 실행하는 작은 코드를 작성하고 유사하지 무엇 나는 Visual Studio에서 GUI 옵션을 사용할 때 결과물을 얻는다.
새로 생성 된 코드를 만들 때 각 .cs 파일에 대해 다음과 같은 오류 메시지가 표시됩니다.
The type or namespace name 'ValidationRules' does not exist in the namespace 'Microsoft.Rest' (are you missing an assembly reference?)
The type or namespace name 'SerializationException' does not exist in the namespace 'Microsoft.Rest' (are you missing an assembly reference?)
The type or namespace name 'Serialization' does not exist in the namespace 'Microsoft.Rest' (are you missing an assembly reference?)
The type or namespace name 'HttpResponseMessageWrapper' does not exist in the namespace 'Microsoft.Rest' (are you missing an assembly reference?)
.
.
완벽하게 실행되고 GUI가 생성하는 것과 일치하는 클라이언트 코드 생성을 자동화하는 데 도움이 필요합니다. 미리 감사드립니다.