Visual Studio 2015 / C # 6 / Roslyn은 PCL 프로젝트에서 XML 주석을 컴파일 할 수 없습니다.

스티븐

방금 Visual Studio 2015 (RTM)의 새로 출시 된 Community Edition을 설치했고 VS2015 및 C # 6.0에서 작동하는 오픈 소스 프로젝트 를 얻으려고합니다 .

내 .cs 중 일부는 프로젝트간에 공유됩니다. 이렇게하면 PCL 버전 (기능이 제한됨)과 핵심 라이브러리의 '전체'버전을 모두 빌드 할 수 있습니다.

그러나 어떤 이유로 일부 코드 파일은 전체 프로젝트에서 제대로 빌드되지만 PCL 프로젝트 (모든 것이 C # 5 및 Visual Studio 2013에서 컴파일 됨)에서 빌드되면 실패합니다. 컴파일러 cref는 PCL 버전을 빌드 할 때 XML 주석에서 를 해결할 수없는 것 같습니다 . 다음은 내 컴퓨터에서 실패하는 간단한 코드 예제입니다.

/// <summary></summary>
public class A
{
    // Compile error on next line:
    /// <summary><see cref="Y(Type)"/>.</summary>
    public void X() { }

    /// <summary></summary>
    /// <param name="x"></param>
    public void Y(Type x) { }

    /// <summary></summary>
    /// <param name="i"></param>
    public void Y(int i) { }
}

내가 얻는 컴파일 오류는 다음과 같습니다.

CS1580 XML 주석의 매개 변수 유형에 대한 잘못된 유형 cref 속성 : 'Y (Type)'SimpleInjector.PCL

이상한 점은 XML 주석의 IntelliSense 지원 (와우! 이제 XML 주석에 IntelliSense가 있습니다!)이 실제로 작동 Y(Type)하고 드롭 다운 목록을 통해 메서드 를 선택할 수 있다는 것입니다. 그러나 이것을 선택하면 컴파일 오류가 생성됩니다 (PCL에서만).

내 질문은 물론 이것을 고치는 방법입니까? 이것이 일반적인 문제입니까? 프로젝트의 구성이 이것과 관련이 있습니까? 알려진 버그입니까?

스티븐

C # / VB 언어 팀의 개발자 인 David Kean 은 Twitter에서 매우 빠르게 응답하고 이에 대해 조사했습니다. 그는 이것이 실제로 Roslyn의 버그이자 알려진 제한 사항이라고 제게보고했습니다. 조사 후 그는 여기여기 에 Github에 대한 문제를보고했습니다 .

여기에는 기본적으로 두 가지 문제가 있습니다.

  1. 내부 구성원도 범위 내에있는 경우 공개 구성원에 대한 cref가 모호해집니다. 의 경우 Type라는 내부 유형이있는 것 같지만 Type공개와는 다릅니다 System.Type. 이 내부 Type유형은 내 코드에는 존재하지 않지만 Roslyn에는 존재하며 Roslyn은 혼란스러워합니다.
  2. 오류 메시지에는 혼란을 덜기 위해 CS0419의 정규화 된 참조가 포함되어 있지 않습니다. 오류 메시지가 "XML 주석 cref 속성의 매개 변수 유형에 대한 유형이 잘못되었습니다"라고만 표시되기 때문에 실제 문제가 무엇인지 추측하기가 어려웠습니다.

이 문제에 대한 현재 해결 방법은 다음과 같은 유형을 완전히 한정하는 것입니다.

/// <summary><see cref="Y(System.Type)"/>.</summary>
public void X() { }

참고 : Assembly. 해당 유형을 System.Reflection.Assembly.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Visual Studio에서 PCAP 프로그램을 컴파일 할 수 없습니다.

분류에서Dev

Visual Studio 2015에서 사용할 수없는 Xamarin 프로젝트

분류에서Dev

다른 프로젝트 C #에서 파일을 컴파일 할 수 없습니다.

분류에서Dev

긴 node_module 경로로 인해 Visual Studio 2015에서 프로젝트를로드 할 수 없습니다.

분류에서Dev

.asm을 컴파일 할 때 Visual Studio 2015에서 dqword를 확인할 수없는 이유는 무엇입니까?

분류에서Dev

Visual Studio Community 2015에서 프로젝트를 전혀로드 할 수 없습니다.

분류에서Dev

Visual Studio 커뮤니티 2019는 프로젝트에 cpp 파일을 추가 할 수 없습니다.

분류에서Dev

LIBCD.lib없이 Visual Studio 6에서 C 프로젝트를 어떻게 컴파일합니까?

분류에서Dev

터미널에서 C ++ 프로젝트를 컴파일 할 수 없습니다.

분류에서Dev

Visual Studio 2010 .Net 프로젝트를 Linux에서 MonoDevelop으로 컴파일 할 수 있습니까?

분류에서Dev

Visual Studio 2015에서 파일 스트림을 읽고 쓸 수 없습니다.

분류에서Dev

Visual Studio 2015에서 Xamarin WinPhone 8 프로젝트를 사용할 수 없음

분류에서Dev

프로그램 C : \ ... \ ****. dll VB.net 응용 프로그램을 시작할 수 없습니다. Visual Studio 2015

분류에서Dev

OpenCV는 Visual Studio 2015로 실행할 때 비디오 파일을 열 수 없습니다.

분류에서Dev

Visual Studio 2015에서 새 프로젝트를 만들 수 없습니다.

분류에서Dev

"이 앱은 PC에서 실행할 수 없습니다!", Cordova 앱을 빌드 할 때 Visual Studio 2015

분류에서Dev

Visual Studio없이 MSBuild / Build Tools for Visual Studio를 사용하여 명령 줄에서 프로젝트를 컴파일 할 수 있습니까?

분류에서Dev

Visual Studio 2019 C # CMake 프로젝트에서 양식 디자이너보기를 사용할 수 없습니다.

분류에서Dev

Visual Studio 프로젝트 디렉터리에서 헤더 파일을 찾을 수 없습니다.

분류에서Dev

Visual Studio 2015에서 새 SharePoint 2013 연결을 추가 할 수 없습니다.

분류에서Dev

Visual Studio 2015에서 마이그레이션을 실행할 수 없습니다.

분류에서Dev

TFS 프로젝트에서 Visual Studio는 WCF 클래스를 "유형 또는 네임 스페이스를 찾을 수 없음"으로 표시하지만 완벽하게 컴파일하고 빌드 할 수 있습니다.

분류에서Dev

Visual Studio 2013에서 C ++ 프로그램을 실행할 수 없습니다.

분류에서Dev

C ++ 프로그램을 컴파일 할 수 없습니다.

분류에서Dev

Visual Studio 2013에서 MSBuild 프로젝트를로드 할 수 없습니다.

분류에서Dev

Visual Studio 6.0에서 일부 설정이 변경되어 프로젝트를 실행할 수 없습니다. 필요한 설정은 무엇입니까?

분류에서Dev

Visual Studio 2015에서 memcached를 설치할 수 없습니다.

분류에서Dev

Visual Studio-15에서 설치 프로젝트의 플랫폼을 변경할 수 없습니다.

분류에서Dev

Android Studio에서는 특정 프로젝트를 컴파일 할 수 없습니다.

Related 관련 기사

  1. 1

    Visual Studio에서 PCAP 프로그램을 컴파일 할 수 없습니다.

  2. 2

    Visual Studio 2015에서 사용할 수없는 Xamarin 프로젝트

  3. 3

    다른 프로젝트 C #에서 파일을 컴파일 할 수 없습니다.

  4. 4

    긴 node_module 경로로 인해 Visual Studio 2015에서 프로젝트를로드 할 수 없습니다.

  5. 5

    .asm을 컴파일 할 때 Visual Studio 2015에서 dqword를 확인할 수없는 이유는 무엇입니까?

  6. 6

    Visual Studio Community 2015에서 프로젝트를 전혀로드 할 수 없습니다.

  7. 7

    Visual Studio 커뮤니티 2019는 프로젝트에 cpp 파일을 추가 할 수 없습니다.

  8. 8

    LIBCD.lib없이 Visual Studio 6에서 C 프로젝트를 어떻게 컴파일합니까?

  9. 9

    터미널에서 C ++ 프로젝트를 컴파일 할 수 없습니다.

  10. 10

    Visual Studio 2010 .Net 프로젝트를 Linux에서 MonoDevelop으로 컴파일 할 수 있습니까?

  11. 11

    Visual Studio 2015에서 파일 스트림을 읽고 쓸 수 없습니다.

  12. 12

    Visual Studio 2015에서 Xamarin WinPhone 8 프로젝트를 사용할 수 없음

  13. 13

    프로그램 C : \ ... \ ****. dll VB.net 응용 프로그램을 시작할 수 없습니다. Visual Studio 2015

  14. 14

    OpenCV는 Visual Studio 2015로 실행할 때 비디오 파일을 열 수 없습니다.

  15. 15

    Visual Studio 2015에서 새 프로젝트를 만들 수 없습니다.

  16. 16

    "이 앱은 PC에서 실행할 수 없습니다!", Cordova 앱을 빌드 할 때 Visual Studio 2015

  17. 17

    Visual Studio없이 MSBuild / Build Tools for Visual Studio를 사용하여 명령 줄에서 프로젝트를 컴파일 할 수 있습니까?

  18. 18

    Visual Studio 2019 C # CMake 프로젝트에서 양식 디자이너보기를 사용할 수 없습니다.

  19. 19

    Visual Studio 프로젝트 디렉터리에서 헤더 파일을 찾을 수 없습니다.

  20. 20

    Visual Studio 2015에서 새 SharePoint 2013 연결을 추가 할 수 없습니다.

  21. 21

    Visual Studio 2015에서 마이그레이션을 실행할 수 없습니다.

  22. 22

    TFS 프로젝트에서 Visual Studio는 WCF 클래스를 "유형 또는 네임 스페이스를 찾을 수 없음"으로 표시하지만 완벽하게 컴파일하고 빌드 할 수 있습니다.

  23. 23

    Visual Studio 2013에서 C ++ 프로그램을 실행할 수 없습니다.

  24. 24

    C ++ 프로그램을 컴파일 할 수 없습니다.

  25. 25

    Visual Studio 2013에서 MSBuild 프로젝트를로드 할 수 없습니다.

  26. 26

    Visual Studio 6.0에서 일부 설정이 변경되어 프로젝트를 실행할 수 없습니다. 필요한 설정은 무엇입니까?

  27. 27

    Visual Studio 2015에서 memcached를 설치할 수 없습니다.

  28. 28

    Visual Studio-15에서 설치 프로젝트의 플랫폼을 변경할 수 없습니다.

  29. 29

    Android Studio에서는 특정 프로젝트를 컴파일 할 수 없습니다.

뜨겁다태그

보관