Visual Studio 2008에 다중 프로젝트 솔루션이 있습니다. 방금 Release-VersionIncrement라는 새 구성을 솔루션에 추가하여 “사용 릴리스”구성을 기준으로 지정했습니다. 모든 프로젝트 파일이 해당 구성으로 업데이트되었습니다. 그러나이 구성을 사용하여 특정 프로젝트를 컴파일하려고하면 다음 오류가 발생합니다.
오류 5이 프로젝트에 대해 OutputPath 속성이 설정되지 않았습니다. 유효한 구성 / 플랫폼 조합을 지정했는지 확인하십시오. 구성 = ‘Release-VersionIncrement’Platform = ‘AnyCPU’C : \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets 539 9 DataConversion
여기서 무슨 일이 일어나고 있습니까? 프로젝트는 릴리스 또는 디버그 구성에서 잘 컴파일됩니다.
답변
일반적으로 이것은 프로젝트 파일의 OutputPath 속성이 비어있을 때 발생합니다. 프로젝트 파일은 MSBuild 파일입니다. Visual Studio에서 편집하려면 : 프로젝트를 마우스 오른쪽 단추로 클릭하고 “프로젝트 언로드”를 선택한 다음 언로드 된 프로젝트를 마우스 오른쪽 단추로 클릭하고 “편집 …”을 선택합니다.
Release-Versionincrement 속성 그룹을 찾습니다. 다음과 같이 보일 것입니다.
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-VersionIncrement|AnyCPU' ">
<OutputPath>bin\Release-VersionIncrement\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
중요한 것은 OutputPath입니다. 프로젝트 파일에 존재합니까? 추가하지 않은 경우 다시 시도하십시오.
답변
빌드 에이전트가 ” AnyCPU “(프로젝트 파일에 지정된 한 단어 )가 아닌 ” Any CPU “(Visual Studio에 표시된 공백 포함) 플랫폼을 실행하도록 구성되었을 때도이 오류가 발생했습니다 .
답변
MSBuild를 처음 사용할 때 동일한 문제가 발생했습니다. 내 해결책은 OutputPath 속성을 확실히 사용하는 것입니다. 이렇게 :
msbuild XXX.csproj /p:OutputPath=bin\Debug.
답변
우리의 경우 HP 개발자 상자에서 빌드 스크립트를 실행했습니다. HP에는 자체 목적을 위해 설정 한 환경 변수가 있으며 그 중 하나는 PLATFORM입니다 (분명히 “HP Easy Setup”에 사용됨).
PLATFORM 환경 변수 삭제가 작동했습니다.
플랫폼을 지정하여 빌드 스크립트를 미래에 대비할 수도 있습니다
msbuild /p:Platform=AnyCPU
.
답변
Visual Studio에서 “Platform = ‘BPC'”라고 구체적으로 불평하는 경우 “Platform”환경 변수를 제거하여 쉽게 해결할 수 있습니다.
이제 Visual Studio를 다시 시작하면됩니다.
답변
” Richard Dingwall “이 암시 한 것처럼 문제는 실제로 ” AnyCPU를 읽는 MSBuild 버전 대신 ” Any CPU ” 의 디스플레이 버전을 사용하는 VS와 관련이 있습니다. “를
빌드 / 새 빌드 정의 또는 빌드 정의 편집-> 프로세스-> 빌드 할 구성으로 이동하여 구성 선택 대화 상자를 열고 ” 모든 CPU ” 를 선택하는 대신 ” 플랫폼 ” 에서 ” AnyCPU “를 수동으로 추가합니다.
답변
말했듯이 OutputPath 를 설정해야하며 .wixproj 파일 에 먼저 배치해야 <Import Project="$(WixTargetsPath)" />
합니다.