3

DotNet 4.0을 대상으로하는 Visual Studio 2010에 WCF 서비스 라이브러리가 내장되어 있습니다.VS2010 vb.net 프로젝트에서 VS 2013 Upd 4로 업그레이드 dotnet 4의 프로젝트에서 서비스 참조 관련 문제 발생

이 WCF 서비스는 서비스 참조를 사용하여 외부 서비스를 참조하여 필요할 때 Windows 서비스가 수행하도록합니다. 모든 참조는 Visual Studio 2010 IDE를 통해 만들어졌습니다.

서비스 참조는 MyService.Interface로 정의되며 모든 것이 코드에서 참조됩니다.

이 모두 잘 작동하며 문제가 없습니다.

Visual Studio 2013 업데이트 4 복사본을 가상 컴퓨터에 설치하고 프로젝트 복사본을 가져 왔습니다.

이제 코드 생성 reference.vb 파일에서이 Windows 서비스에 대한 모든 서비스 참조가 모두 MyService.Interface 대신 global.MyService.Interface로 선언됩니다.

이제 global.MyService.Interface 유형이 정의되지 않은 수백 개의 오류가 있습니다.

WCF 프로젝트의 루트 네임 스페이스를 제거하면이 오류는 제거되지만 네임 스페이스를 제거하여 발생하는 수백 가지의 다른 오류로 해결됩니다.

궁금한 점은 VS2013에 추가 된 서비스 레퍼런스가 모든 서비스를 글로벌하게 만들었습니다. 생성 된 코드 (reference.vb)에서 앞 부분에 추가되며 코드 생성에 전역 적으로 포함되지 않는 것처럼 작동하도록 만드는 방법이 있습니다. 각 참고서의 시작 부분에?

reference.svcmap에서 서비스 참조의 네임 스페이스를 설정해 보았지만 아무런 차이가 없습니다.

VS2013이 지금 뭔가 다른 것을 수행하고 있기 때문에 수작업으로 생성 한 물건을 수동으로 생성하는 경로를 따라야 할 필요가 없으므로 svcutil을 아직 시도하지 않았습니다.이 작업을 관리하는 다른 개발자가있을 것입니다. Visual Studio의 버전 변경으로 인해 사용 된 것보다 서비스 참조를 업데이트하는 다른 방법을 갖고 싶지는 않습니다.

저는 일부 검색을 수행하여 사람들이 전역을 추가해야하는 많은 사례를 발견했습니다. 이 참조의 경우에는 역순으로 추가됩니다. 자동으로 추가되었으므로 생성 된 코드에서 제거하려고하지만 위치를 찾을 수 없습니다. 선택을 취소 할 수있는 체크 박스가 있기를 바라고 있으며 마법처럼 작동하는 방식으로 돌아갑니다.

모든 도움을 주시면 대단히 감사하겠습니다. 항상이었다 2013 UPDATE 3.이 코드가 생성됩니다 VS에서 열려있는 프로젝트 ...

<System.Diagnostics.DebuggerStepThroughAttribute(), _ 
 
    System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")> _ 
 
    Partial Public Class ExternalInterfaceServiceClient 
 
     Inherits System.ServiceModel.ClientBase(Of BOHInterface.IExternalInterfaceService) 
 
     Implements BOHInterface.IExternalInterfaceService

코드입니다에서

  • SAMPLE * 코드 VS 2013 Update 4에서 동일한 프로젝트에 대해 생성되었습니다. BOHInterface.IExternalinterface의 각 참조가 시작될 때 Global 키워드가 추가되었습니다.

     
     
        <System.Diagnostics.DebuggerStepThroughAttribute(), _ 
     
        System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")> _ 
     
        Partial Public Class ExternalInterfaceServiceClient 
     
         Inherits System.ServiceModel.ClientBase(Of Global.BOHInterface.IExternalInterfaceService) 
     
         Implements Global.BOHInterface.IExternalInterfaceService 
     
        

    두 번째는 모든 것을하고 reference.vb 년에 생성 된 코드를 나누기.

    VS2013 업데이트 3에서와 동일한 코드를 생성하는 방법은 무엇입니까?

    그런데 - 이것은

    감사

    로드 : 분류 될 때까지 내가 VS2013 업데이트 3을 사용하고 있습니다.

+0

누구든지 관심이있는 경우 - 문제는 Windows 10 관련 것으로 보입니다. 방금 VS2013 Update 4로 Windows 7을 시험해 보았는데 문제가 발생하지 않았습니다. – Roddles

답변

0

Windows 10을 10041 빌드 할 때까지 동일한 문제가있었습니다. Windows 10을 10041 빌드로 업그레이드하십시오. 또한 Visual Studio 2013 Update 5의 CTP 3을 사용하고 있습니다.

+0

고마워요 - 최신 빌드 10041을 다운로드하고 있습니다. 정보 주셔서 감사합니다. :) – Roddles