2009-12-11 3 views
1

내 솔루션에는 두 가지 C# .NET 프로젝트가 있습니다. 하나의 프로젝트는 WinForms 사용자 정의 UserControl을 포함하는 DLL입니다. 다른 프로젝트는 에있는 UserControl을 참조하고 사용하는 WinForms EXE입니다.Visual Studio에서 사용자 지정 UserControl의 새 속성보기

UserControl에 몇 가지 속성을 추가 했으므로 컨트롤을 폼에 배치하면 다른 컨트롤과 마찬가지로 디자이너에서 이러한 속성을 쉽게 설정할 수 있습니다.

UserControl에 새 속성을 추가 할 때까지 모두 훌륭합니다. 새 속성은 양식 디자이너에 나타나지 않습니다. 솔루션을 다시 빌드하고 다시 열려고 시도했습니다.

수동으로 .designer.cs 파일로 이동하여 새 속성의 값을 설정할 수 있습니다. 프로젝트는 실제로 컴파일되고 실행되지만 양식 디자이너는 해당 속성이 존재하지 않으며 양식을 열지 않는다고 주장합니다.

내가 발견 한 유일한 일은 Visual Studio를 닫고 다시 시작하는 것입니다. Visual Studio를 다시 시작하지 않고 새 속성을 볼 수있는 다른 방법이 있습니까?

편집 나는 이것을 깨끗한 해결책으로 재현 해보고 모든 것이 잘 작동하는 것처럼 보였다. 그런 다음 원래 솔루션에서 DLL이 사후 빌드 단계를 통해 GAC에 서명되고 설치되었음을 기억했습니다. Visual Studio 폼 디자이너가 GAC에서 어셈블리를로드하여 속성 목록을 가져 오는 것을 생각합니다. 새 속성을 추가 할 때까지 괜찮습니다. 어셈블리를 빌드하고 GAC에 다시 설치할 수 있지만 Visual Studio에서 새 속성을 볼 수 없습니다.

+0

아직 해결되지 않았습니까? VS를 다시 시작하는 것이 도움이되지 않는다는 차이점과 동일한 문제가 있습니다. 오래된 것들은 보여지고 새로운 것들은 보이지 않습니다. 원본에서 나는 그것들에 접근 할 수 있지만 디자이너는 단지 그것들을 나열하지 않을 것입니다 ... – C4u

답변

2

는 귀하의 재산에 Browsable 속성을 넣어 2008 솔루션.

+0

기존의 속성 중 실제로 Browsable 속성을 가지고 있지는 않지만 여전히 볼 수 있습니다. 그들은 모두 공개입니다. 이전 속성과 새 속성 모두에 Browsable 속성을 추가하더라도이 문제를 재현 할 수는 있지만 새로운 것을 배웠습니다. 원래 질문을 수정했습니다. –

0

나는이 문제를 해결할 수있는 유일한 방법은 VS를 다시 시작하는 것입니다 ...

[Browsable(true)] 
public string MyProperty { get; set; } 

그리고 물론

, 확인이 public으로 선언합니다

+1

예 새로운 속성을 인식 할 수있는 유일한 방법이라고 언급했습니다. 나는 더 나은 것을 바라고 있습니다. –

0

다시 한번 DLL을 다시 작성하고 기본 프로젝트에 대한 참조를 제거한 다음 추가하십시오.

관련 문제