Visual Studio 2008의 x86 디버그 모드에서 프로젝트를 컴파일하려고 할 때이 오류가 발생합니다. 불만을 제기 한 프로젝트의 속성 그룹을 보면 출력 경로가 설정되어 있습니다.
다음은 해당 .csproj 파일에 대한 속성 그룹 섹션입니다.
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<FileAlignment>4096</FileAlignment>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
아무도 이것에 대해 밝힐 수 있습니까?
참고 :이 디버그 및 모든 CPU를 컴파일하면 작동했습니다.
업데이트 됨 : 오류 1이 프로젝트에 대해 OutputPath 속성이 설정되지 않았습니다. 유효한 구성 / 플랫폼 조합을 지정했는지 확인하십시오. 구성 = ‘디버그’플랫폼 = ‘x86’
답변
Visual Studio에서 ConfigurationManager를 통해 새 구성을 추가 한 후 똑같은 오류가 발생했습니다.
전체 솔루션 (및 각 프로젝트)에 대해 ‘Production’구성이 추가되었을 때 OutputPath 요소 가 .csproj 파일에 추가 되지 않은 것으로 나타났습니다 .
수정하기 위해 프로젝트 속성의 빌드 탭으로 이동하여 OutputPath를 \bin\Production\
에서 \bin\Production
( 뒤로 삭제됨 \
)으로 변경하고 변경 사항을 저장했습니다. 이로 인해 .csproj 파일에 OutputPath 요소가 강제 생성되고 프로젝트가 성공적으로 빌드되었습니다.
나에게 결함처럼 들린다.
답변
찾을 수없는 어셈블리를 참조하는 프로젝트가 솔루션에있는 경우 VS 2008에서이 오류를 볼 수 있습니다. 어셈블리가 솔루션의 일부는 아니지만 그래야하는 다른 프로젝트에서 가져온 경우 발생할 수 있습니다. 이 경우 솔루션에 올바른 프로젝트를 추가하기 만하면 문제가 해결됩니다.
솔루션에있는 각 프로젝트의 참조 섹션을 확인하십시오. 그 옆에 빨간색 x가있는 참조가 있으면 문제를 찾은 것입니다. 해당 어셈블리 참조는 솔루션에서 찾을 수 없습니다.
오류 메시지가 약간 혼란 스럽지만 여러 번 보았습니다.
답변
WiX를 사용하는 경우 다음을보십시오 (버그가 있습니다).
http://www.cnblogs.com/xixifusigao/archive/2012/03/20/2407651.html
때로는 새로운 빌드 구성이 .wixproj
파일 아래에 추가됩니다. 즉, 다른 관련없는 XML 요소에 의해 형제 구성 정의와 분리됩니다.
빌드 구성을 정의 .wixproj
하는 모든 <PropertyGroup>
섹션이 서로 인접하도록 파일을 편집하기 만하면 됩니다. ( .wixproj
VS2013에서 편집하려면 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트를 언로드 한 후 다시 마우스 오른쪽 버튼을 클릭-> Edit YourProject.wixproj. 파일을 편집 한 후 다시로드합니다.)
답변
.csproj 파일의 시작 부분에 다음 줄을 가깝게 이동했기 때문에 이런 일이 발생했습니다.
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets"/>
Configuration | Platform을 정의하는 PropertyGroups 뒤에 배치해야합니다.
답변
프로젝트의 Visual Studio에 표시된 오류 (A)에는 문제가 없습니다. 각 프로젝트의 빌드 라인별로 출력 창을 살펴보면 프로젝트 A에서 어셈블리로 언급 된 다른 프로젝트 (B)에 대해 불평하고 있다는 것을 알았습니다. 프로젝트 B가 솔루션에 추가되었습니다. 그러나 프로젝트 A에서 다른 위치의 어셈블리 참조로 대신 프로젝트 참조로 언급되지 않았습니다. 이 위치에는 플랫폼 AnyCpu 용으로 컴파일 된 어셈블리가 포함되어 있습니다. 그런 다음 프로젝트 A에서 어셈블리 참조를 제거하고 프로젝트 B를 참조로 추가했습니다. 컴파일을 시작했습니다. 이 수정이 어떻게 작동했는지 확실하지 않습니다.
답변
동일한 오류가 발생했지만 다른 솔루션의 참조 된 어셈블리에 존재하지 않는 새 구성을 솔루션에 만들었 기 때문에 문제가 발생했습니다.
이 문제는 관련 솔루션을 열고 여기에 새 구성을 추가하여 해결할 수 있습니다.
이 게시물은 솔루션 내의 모든 프로젝트에 올바른 구성이 있는지 이미 확인한 후 참조 된 어셈블리를 확인하는 아이디어를 제공했습니다.
http://gabrielmagana.com/2010/04/solution-to-the-outputpath-property-is-not-set-for-this-project/
답변
빌드 파이프 라인에서 .sln 대신 .csproj를 빌드하도록 설정 한 후 Azure DevOps의 출력으로이 문제가 발생했습니다.
나를위한 해결책 : 영향을받는 프로젝트의 .csproj를 편집 한 다음 전체 복사
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCpu' ">
노드에 붙여넣고 다음과 같이 첫 번째 줄을 변경합니다.
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|any cpu' ">
그 이유는 제 경우에는 오류가
Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='release' Platform='any cpu'.
Azure가 기본 “AnyCpu”대신 “모든 CPU”를 사용하려는 이유는 나에게 미스테리이지만이 해킹은 작동합니다.