programing

Visual Studio 2013 솔루션 빌드가 빌드 순서가 아님

bestprogram 2023. 4. 27. 22:53

Visual Studio 2013 솔루션 빌드가 빌드 순서가 아님

C# 솔루션을 "새로 고침"을 빌드하는 데 문제가 있습니다.솔루션을 청소하고 다시 구축하면 솔루션이 구축되지 않습니다(몇 번을 실행해도 구축됩니다).azure 프로젝트가 작업자 및 의존하는 웹 프로젝트보다 먼저 빌드되는 오류가 있습니다.또한 솔루션에 포함된 대부분의 프로젝트가 찾는 방법에 대한 정보

WAT070 : The referenced assembly {...}/Worker.dll was not found. 
Please make sure to build the role project that produces this assembly before building this Windows Azure Cloud Service Project.
{...}\VisualStudio\v12.0\Windows Azure Tools\2.2\Microsoft.WindowsAzure.targets 1252    5   AzureProjectName

이제 프로젝트 종속성 -> 빌드 순서에 나열된 순서대로 프로젝트를 빌드하면 모든 것이 작동합니다.또한 웹 및 작업 역할은 Azure Project 이전에 나열되어 있습니다.

해결책은 매우 간단합니다.

'Project Solution'을 마우스 오른쪽 버튼으로 클릭하고 "Select Project Build Order" 옵션을 선택하여 프로젝트 빌드 순서를 설정할 수 있습니다.

여기에 이미지 설명 입력

예를 들어 WpfFormApplication1과 "ClassLibrary1" 및 "ClassLibrary2"라는 제목의 두 개의 클래스가 있습니다.Visual Studio는 기본적으로 다음과 같이 설정합니다.

여기에 이미지 설명 입력

제 요구 사항은 "Class Library2"가 "Class Library1"에서 사용되고 "Class Library1"이 "WpfFormApplication1"에서 사용된다는 것입니다.따라서 이 요구 사항을 충족하기 위해서는 기본 프로젝트 빌드 순서를 변경해야 합니다.

프로젝트 종속성으로 이동한 후 "클래스 라이브러리1"을 선택하고 "클래스 라이브러리2"를 종속성으로 설정합니다.

여기에 이미지 설명 입력

마찬가지로 "WpfFormApplication1"을 선택하고 "ClassLibrary1"을 종속성으로 설정합니다.

여기에 이미지 설명 입력

이제 원하는 프로젝트 빌드 순서가 설정되어 프로젝트 빌드 순서의 옵션으로 확인됩니다.

여기에 이미지 설명 입력

해결책은 제 블로그에서 가져온 것입니다.

종속성이 정의되지 않은 것이 문제일 수 있습니다.빌드 순서에 프로젝트가 빌드되는 순서가 표시되더라도 프로젝트 종속성에서 각 프로젝트에 대한 종속성을 정의하지 않으면 msbuild는 계속 진행하기 전에 종속성 빌드가 완료될 때까지 기다릴 수 없습니다.

명확하게 하기 위해:항목이 종속성이라는 확인란을 실제로 선택하지 않으면 빌드 순서 목록의 프로젝트가 순차적으로 빌드되지 않고 병렬로 빌드될 수 있습니다.

다수니있 아래에 볼 수 .Tools->Options->Project and Solutions->Build and Run빌드할 병렬 프로젝트 수에 대한 기본값이 있는지 확인합니다. 여기에 이미지 설명 입력

따라서 빌드 프로세스가 빌드될 때까지 종속성을 대기하도록 하려면 프로젝트 종속성 -> 종속성에서 필요한 프로젝트에 대해 모든 "의존" 필드가 선택되어 있는지 확인합니다.

우리는 프로젝트 가이드가 경우에 따라 다른 문제가 있었습니다.프로젝트 파일을 편집하여 문제를 해결했습니다.모든 가이드를 대문자로 변경했습니다.

저도 방금 이 문제가 있었습니다.저의 경우 문제는 솔루션 내에 여러 프로젝트 참조가 있다는 것이었습니다.다른 프로젝트들은 나의 작업자 역할에 다른 버전의 프레임워크를 사용하고 있었습니다.4.5.14.5).

동일한 버전의 프레임워크를 사용하도록 모든 프로젝트를 변경했더니 솔루션이 성공적으로 구축되고 실행됩니다.

저는 이 문제가 있었습니다.이 경우 VS가 결정한 솔루션의 프로젝트 빌드 순서입니다.네트, 올바르지 않습니다.구체적으로, 제 웹 프로젝트는 3개의 종속성 위에 나열되었습니다.

이러한 세 가지 종속성은 솔루션 탐색기의 웹 프로젝트 참조 노드에 나열되어 있습니다.그러나 프로젝트 종속성 대화에서 웹 프로젝트는 어떤 프로젝트에도 의존하지 않았습니다.

또한 웹 프로젝트에 작은 파란색 느낌표가 있고 "The Web project"라는 후버오버 메시지가 있는 것을 발견했습니다. SQL Server Express는 이 컴퓨터에 설치되어 있지 않습니다. ..." ASP를 기반으로 web.config를 조작한 후에NET Web API: 프로젝트에는 SQL Server Express가 필요하고 프로젝트를 다시 로드해야 합니다. 느낌표가 사라지고 프로젝트 종속성이 Project Dependencies 대화 상자에서 올바르게 확인되었으며 빌드 순서가 이를 올바르게 반영했습니다.그러나 web.config에 대한 변경 사항을 테스트로 되돌렸을 때 종속성이 제거되지 않았기 때문에 무엇이 문제를 해결했는지 확신할 수 없습니다.

프로젝트 종속성 대화 상자에서 종속성으로 자동 식별되지 않은 프로젝트를 수동으로 확인할 수 있습니다.

작업 폴더에 남아 있는 오래된 파일이 없는지 확인합니다.이로 인해 MSBuild와 혼동될 수 있습니다.이를 방지하려면 경로에 있는 모든 오래된 파일을 삭제하고 최신 상태를 확인하십시오.

언급URL : https://stackoverflow.com/questions/20427439/visual-studio-2013-solution-building-not-in-build-order