문제

현재 회사의 다른 응용 프로그램에 대한 서버 컨트롤을 연구하여 WCF 서비스와 인터페이스하고 있습니다. 변경 코드 변경을 수행하고 컨트롤을 다시 컴파일 할 때마다 AsseemblyInfo.cs의 어셈블리 버전 및 어셈블리 파일 클래스를 하나씩 증가시킵니다. 예를 들어, 최신 빌드는 1.0.07.0에서 1.0.08.0으로 증가했습니다.

소비 애플리케이션이 BIN 디렉토리에서 최신 파일을 복사하여 파일을 업데이트하고 컴파일하려고 시도하면 다음 오류가 발생합니다.

유형 또는 네임 스페이스 이름 'MyControl'은 네임 스페이스 'MyNamespace'에 존재하지 않습니다 (어셈블리 참조가 누락 되었습니까?)

이 오류를 해결하려면 현재 참조를 삭제하고 참조를 다시 집어 넣어야합니다.

참조를 삭제하고 다시 접수 할 필요없이 서버 컨트롤을 업데이트 할 수있는 방법이 있습니까?

나는 서버 컨트롤을 강력하게 지명하지 않습니다.
@JPUNYON- 소비 애플리케이션이 서버 제어 프로젝트를 솔루션에 추가한다는 뜻입니까?

도움이 되었습니까?

해결책

솔루션 탐색기의 조립 참조를 오른쪽 버튼으로 클릭하여 속성 인 속성을 사용하여 "특정 버전"옵션을 비활성화하십시오.

다른 팁

이 경우 Target Framework : ".NET Framework 4.0"을 사용하여 정의 된 DLL 프로젝트를 참조하려고 시도한 대상 프레임 워크를 사용하여 정의 된 프로젝트였습니다.

대상 프레임 워크를 사용하도록 프로젝트 설정을 변경하면 : ".NET Framework 4.0"모든 것이 잘 만들어졌습니다.

프로젝트-> 속성-> 응용 프로그램-> 대상 프레임 워크를 마우스 오른쪽 버튼으로 클릭하십시오.

당신은 당신의 어셈블리를 강하게 지명하고 있습니까? 이 경우 새 빌드 번호마다 모든 참조를 업데이트해야하므로 빌드 번호를 자동 증가시키는 것이 좋지 않습니다.

나는 올바른 방향으로 나를 지적한 대답을 부딪 쳤지 만 ...

Visual C ++를 사용하는 사람들을 위해 :

버전의 자동 증가를 해제 해야하는 경우 "AssemblyInfo.cpp"파일 에서이 값을 변경할 수 있습니다 (모든 CLR 프로젝트에는 하나가 있습니다). 별표가없는 실제 버전 번호를 제공하면 원하는 방식으로 작동합니다.

어셈블리에서 자신의 버전 제어를 구현하는 것을 잊지 마십시오!

필자의 경우 로컬 설정 사본을 True로 변경해야했습니다 (Solution Explorer의 오른쪽 버튼 클릭 어셈블리, 속성을 선택하고 로컬 속성 사본의 찾기 및 변경). 이 설정이 변경되면 WCF 서비스의 게시가 파일을 서버에 복사하고 오류가 사라졌습니다.

Visual Studio 2017 커뮤니티에서 새로운 빈 UWP 프로젝트를 만들 때이 오류가 발생했습니다.

enter image description here

제안 된 치료법 (NUGET 캐시 복원) 후 프로젝트에서 참조가 재 포장되었습니다.

TFVC 리포지토리에서 Azure DevOps 서비스 (MS-Host) 빌드 파이프 라인 으로이 오류가 발생했습니다.

제 경우에는 분기 내에서 작업하고 있었고 실수로 지점에서 나온 트렁크의 패키지 폴더의 참조를 추가했습니다. 지점 내에서 참조를 추가하면 성공적으로 컴파일이 시작되었습니다.

즉, branch-beta sierra.csproj에서 작업하는 동안 실수로 trunk packages delta.dll을 참조했습니다. 분명히, 나는 대신 branch-beta packages delta.dll을 참조해야했습니다. 경로가 참조를 추가하십시오 창과 나는 충분히 조심스럽게 확인하지 않았습니다.

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