2

을 통해 업데이트되지 않습니다 : 하나는 WcfService 응용 프로그램 프로젝트이고, 다른 하나는 웹에 액세스 할 수있는 ServiceReference와 일반 C# 실버 라이트 프로젝트입니다 서비스 로컬.WebService에 내가 내 비주얼 스튜디오 솔루션에서 두 개의 프로젝트가 ServiceReference

내가 예를 들어 서비스의 [DataContract] 클래스의 일부 속성을 수정하는 경우 '인터페이스 :

는 기본적으로 모든 내 웹 서비스의 변화가 나의 SL 프로젝트 볼 수 있다는 사실을 제외하고 잘 작동 , 두 프로젝트는 잘 컴파일되지만 SL 프로젝트에서 웹 서비스에 액세스 할 때 수정하기 전의 상태에 불과합니다.

VisualStudios ObjectBrowser에서 ServiceReference를 보면 동일한 결과가 나타납니다. 내 웹 서비스를 수정하지 않았습니다.

가 나는 내장 자동 "서비스 참조 추가" 기능을 통해 SL 프로젝트에 ServiceReference를 추가했다. 때마다 나는 웹 서비스를 수정할 때마다 성공했지만 효과가없는 SL 프로젝트의 서비스 참조에서 "업데이트 서비스 참조"을 클릭합니다. 심지어 서비스 참조를 제거하고 을 다시 추가하면은 변경된 속성을 가진 웹 서비스를 표시하지 않습니다.

며칠 전 서비스 프로젝트의 이름을 변경했기 때문에 서비스 프로젝트를 솔루션에서 언로드하고 파일 시스템의 폴더 이름을 바꾼 다음 다시 솔루션에 "기존 프로젝트"로 추가했습니다. 그런 다음 서비스 파일 (.svc & .svc.cs)과 서비스 인터페이스 파일의 이름을 변경했습니다. ==> 그 후에 모든 것이 인식되지 않는 수정을 제외하고는 여전히 잘 작동하는 것 같습니다. 또한이 서비스에 ServiceReference를 추가 할 때 새 파일이 아닌 두 파일의 이전 이름이 표시됩니다.

여기에 무슨 일이 일어나는지 실마리가 있습니까? 이 긴 질문을 미리 읽어 주셔서 감사합니다;)

+0

이상하게 들릴 수도 있지만 상자를 다시 부팅 해 보셨습니까? – twaggs

답변

3

문제를 해결하는 한 가지 방법은 (아마도 가장 좋은 해결책은 아니지만, 아마도 최악의 해결책 일 수도 있지만, 효과가있을 것이라고 확신합니다.) 정리 한 무리의 수행 삭제 한 서비스 참조와 관련된 파일 시스템 모두에서 삭제 서비스 참조하여 SL 프로젝트에서

    • 제거 (즉 드롭 관련 파일/SL 프로젝트 디렉토리에 폴더)
    • 메모장 및 삭제를 사용하여 SL csproj (또는 vbproj) 파일을 엽니 다. 서비스 참조와 관련된 줄을 표시하십시오 (파일에서 "서비스 참조"검색)
    • 새로운 WcfService 응용 프로그램 프로젝트를 처음부터 만들고 참조 (파일, 참조 ...)를 추가하십시오.) 그래서 당신이

    좋아 당신의 SL 프로젝트에 서비스 참조로 새 WcfService 프로젝트를 추가

  • 새 WcfService 프로젝트
  • 을 컴파일 이전 WcfService 프로젝트를 삭제할 수있는 현재 WcfService 프로젝트를 반영 , 당신은 이것을하는 약간의 시간을 잃을 것이다. 그러나 그것은 일할 것이다.

  • +0

    안녕하세요. 답변 해 주셔서 감사합니다. :) 나는 이미 서비스와 관련된 모든 파일을 검색했습니다. 그리고 이제는 분명히 하나의 파일 하나를 놓쳤다는 것을 알았습니다. .svc 파일에는 웹 서비스 프로젝트의 이전 이름이있는 한 줄이 포함되어있었습니다. 이것의 이름을 변경 한 후 SL 프로젝트의 웹 서비스 참조가 완벽하게 작동합니다! 그래서 처음부터 무엇을하고 있었는지 - 손으로 프로젝트의 이름을 바꾸고 이전 한 것은 완벽하게 작동했습니다. - 단순히 위에서 언급 한 줄의 이름을 바꾸는 것을 잊었습니다. –

    +0

    @ ken2k : 제 질문에 답해 주셔서 대단히 감사합니다! :) –