소스 코드가 업데이트될 때 C# 구성 요소가 새로 고쳐지지 않습니다.

StackOverflow https://stackoverflow.com/questions/85866

  •  01-07-2019
  •  | 
  •  

문제

나는 많은 프로젝트에 대한 솔루션을 가지고 있습니다.하나의 프로젝트에는 몇 가지 사용자 정의 구성 요소가 포함되어 있습니다.이러한 구성 요소 중 하나는 이미지에 제목을 표시하는 데 사용됩니다.배경색과 기타 여러 가지 색상을 변경할 수 있습니다.

문제는 구성 요소 배경의 기본 색상을 변경하거나 텍스트 위치를 변경하기로 결정한 경우 해당 변경 사항이 구성 요소가 사용되는 솔루션의 다른 모든 프로젝트에 반영되지 않는다는 것입니다.구성 요소 프로젝트와 다른 모든 프로젝트를 컴파일했습니다. 프로젝트에서 구성 요소를 참조합니다.

지금으로서는 다른 프로젝트의 구성요소를 하나씩 떼어내고 다시 추가하면 됩니다. 그러면 괜찮습니다.빨리 할 수 ​​있는 방법이 있나요?

업데이트해당 구성 요소 내부에 CheckBox를 추가했는데 확인란이 어디에나 있는 것 같습니다!괜찮은!그러나 속성에 구성 요소를 변경할 수 있는 일부 태그(예: 배경색)가 있는 경우 "기본값"은 변경되지 않고 대신 이전 값을 속성의 변경된 값으로 넣습니다.따라서 속성 패널에서 색상을 수동으로 추가한 경우처럼 이전 값이 설정된 것을 볼 수 있습니다.

업데이트 2 대체 텍스트 http://img517.imageshack.us/img517/9112/oldonenewoneei0.png

업데이트 3:

이 문제는 여전히 존재합니다.사람들에게 내가 여전히 길을 찾고 있다는 것을 알리기 위해서입니다.

나는 당신의 제안 중 몇 가지를 시도했습니다.

  1. 모든 솔루션을 정리하고 사용자 지정 컨트롤이 있는 프로젝트만 빌드하면 솔루션이 빌드됩니다.아무런 변화가 없습니다. (테스트를 위해 구성 요소의 색상을 노란색으로 변경했습니다.아무것도 변경되지 않습니다: 실패하다.
  2. 참조를 제거하고 프로젝트에 다시 추가한 다음 솔루션을 다시 빌드하면 됩니다.디자이너에서 이전 색상을 볼 수 있습니다. 실패하다.

저를 도와주려는 분들을 위해 더 많은 정보와 이미지(위)로 질문을 업데이트했습니다.

보시다시피 구성 요소의 이전 "컴파일"에는 노란색 배경이 표시되지만 새 구성 요소를 삽입하면(Visual Studio의 왼쪽 도구 모음에서) 흰색 배경으로 추정되는 새 구성 요소를 가질 수 있습니다.

도움이 되었습니까?

해결책

이는 다음과 같은 이유일 가능성이 높습니다. 참고자료.

아마도 다른 프로젝트에서는 참조에 복사 구성 요소 프로젝트에.변경된 경우 참조된 구성 요소 프로젝트에서 다시 복사하려면 이러한 다른 프로젝트를 다시 빌드해야 합니다.빌드 시에만 업데이트됩니다.

동일한 솔루션에 포함시켜 이 문제를 어느 정도 해결할 수 있습니다.이 경우 다음을 설정할 수 있습니다. 프로젝트 종속성 올바르게 작동하면 대부분 자동으로 작업을 처리할 수 있습니다.그러나 모든 것을 동일한 솔루션에 포함하는 것이 항상 옳은 것은 아닙니다.

이미 동일한 솔루션의 일부가 있거나 참조 문제가 아닌 경우 다음과 같은 이유일 수 있습니다. 구성 요소 직렬화.우리는 사용자 정의 컨트롤 개발을 할 때 이런 문제를 많이 겪었습니다.

다른 팁

내 생각에는 디자이너가 똑똑하고 디자이너에 있는 구성 요소의 설정을 기억하여 기본값으로 보는 것 같습니다.

평소 같지 않은데요.솔루션을 마우스 오른쪽 버튼으로 클릭하고 "클린 솔루션"을 누르는 것이 도움이 될 수 있습니다(각 프로젝트의 bin 디렉터리에서 모든 dll과 실행 파일이 삭제되어 새로운 빌드가 발생하게 됩니다).

빌드 순서 순서를 확인할 수도 있습니다.

비슷한 문제가 있는 프로젝트를 작업하고 있는데 .NET 구성 파일이나 어셈블리 정보 파일(프로젝트 유형에 따라 다름)을 터치하면 발견되었습니다.그러면 다른 프로젝트에 구성 요소 변경 사항이 반영됩니다.

왜 이런 일이 발생하는지 잘 모르겠지만 이것이 제가 극복한 방법입니다...

최근에 Nant를 통해 모든 것을 구축하는 방식으로 전환했는데, 그러면 문제가 완전히 해결되었습니다.

때로는 비주얼 디자이너가 기본값이 있는 경우에도 코드 숨김의 모든 속성을 직렬화합니다.

구성 요소의 기본 배경색이 빨간색이고 기본 배경색을 파란색으로 변경하는 경우 구성 요소를 사용하는 구성 요소는 이를 다시 빨간색으로 변경합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top