2014-05-09 2 views
10

내 응용 프로그램에서 대상 프레임 워크를 최근에 .NET Framework 4.5에서 4.5.2로 변경하려고했지만 빌드하려고 할 때 다음 오류가 발생합니다. " 'Forms'는 'Windows'의 구성원이 아닙니다 (즉, System.Windows.Forms). 4.5.1로 변경하면 정상적으로 작동합니다. Visual Studio 2013 Ultimate을 사용하고 있습니다.'Forms'은 'Windows'의 구성원이 아닙니다

+1

4.5.2? 베타 또는 RC입니까? – Tim

+0

아니, 공식 릴리스, 4 일 전입니다. –

답변

20

4.5.2로 변경하면이 오류가 발생합니다.

내 경우에는 MessageBox와 관련된 오류가 발생했습니다. "System.Windows.Forms.DialogResult.Yes"로 "Windows.Forms.DialogResult.Yes"(동일한 오류 메시지가 표시됨)를 대체했습니다. 트릭을 했어.

+0

4.6.1에서는 작동하지 않습니다 – Jim

7

동일한 문제가 발생했습니다. 나도 Windows.Forms.DialogResult 열거 값을가집니다.

프로젝트가 SystemSystem.Windows.Forms 네임 스페이스를 자동으로 가져오고 4.5.1까지 올바르게 작동합니다.

4.5.2에서 나는 Windows.Forms.를 제거하고 단지 DialogResult.Ok를 떠나 (또는 ​​어떤 다른) 내 코드에서이 네임 스페이스 해상도에 문제가있는 것 같습니다했다.

+0

4.6.1에서는 작동하지 않습니다 – Jim

0

Windows.Form 앞에 System을 추가해야합니다.

+1

단계에 대한 설명이 도움이 될 것입니다. –

2

하나의 (새) 빌드 서버에서 실패했지만 이전 버전의 .NET에서 실행 된 .NET 4.0을 대상으로 한 응용 프로그램에서이 문제가 발생했습니다.

이전 빌드 서버에만 설치된 .NET 4.0 Targeting Pack으로 범위를 좁혔습니다. 대상 지정 팩은 Visual Studio 또는 Windows 7.1 SDK에 포함되어 있습니다. 별도로 배포되지 않은 이유로 인해 support ending for .NET 4, 4.5 and 4.5.1으로 변경 될 가능성이 없습니다. 이전 버전의 서버는 2 년 전부터 사용 되었기 때문에 현재 위치에서 업그레이드를 완료 했으므로 이미 대상 지정 팩을 사용하고 있습니다.

서버 2012R2에 Windows 7.1 SDK를 설치하면 "시험판 버전의 .NET 4가 설치되어 있습니다. RTM 버전을 설치하십시오."라는 문구가 나타납니다. 내가 알 수있는 한 간단하게 최신 버전이 설치 되었기 때문) - Server 2012R2는 4.5.1과 함께 제공됩니다. 최신 버전을 모두 제거하려고했지만 SDK를 사용하여 대상 지정 팩을 설치할 수 없습니다.

그래서 설치 : 그것은
  • 실행 Setup\MTPack\netfx_dtp.msi EXTUI=1
  • 는 이제 4.0 물건과 함께 %programfiles(x86)%\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\ 폴더가 있어야 Windows 7.1 SDK ISO image

  • 의 압축을 풉니 다

    • 다운로드.

      (EXTUI = 1은 제한을 무시하고 installed separately 일 수 없음).

      이렇게하면 여전히 4.0을 목표로하는 프로젝트를 컴파일 할 수 있습니다. (또는 이전에 리비전/시간대를 목표로했던 가지를 다시 빌드 할 수 있습니다.)

  • 관련 문제