IT

이 프로젝트에 OutputPath 속성이 설정되어 있지 않습니다.

lottoking 2020. 8. 7. 07:47
반응형

이 프로젝트에 OutputPath 속성이 설정되어 있지 않습니다.


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>섹션이 서로 다른 파일을 편집하기 만하면 됩니다. ( .wixprojVS2013에서 편집하려는 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트를 언로드 한 후 다시 마우스 오른쪽 버튼을 클릭-> Edit YourProject.wixproj 파일을 편집 한 후 다시로드합니다.)


프로젝트의 Visual Studio에는 문제가 없습니다. 각 프로젝트의 빌드 라인별로 결과적으로 창을 생생하게 보면 프로젝트 A에서 어셈블리로 언급 된 다른 프로젝트 (B)에 대해 불평하는 것을 보았습니다. 프로젝트 B가 솔루션에 추가되었습니다. 그러나 프로젝트 A에서 다른 위치의 어셈블리 참조로 대신 프로젝트 참조로 참조되지 않았습니다. 이 위치에는 플랫폼 AnyCpu 용으로 어셈블리가 포함되어 있습니다. 그런 다음 프로젝트 A에서 어셈블리 참조를 제거하고 프로젝트 B를 참조로 추가했습니다. 시작했습니다. 이 수정이 어떻게 작동하는지 확실하지 않습니다.


동일한 오류가 발생했지만 다른 솔루션의 참조 된 어셈블리에 존재하지 않는 새 구성을 솔루션에 만들었 기가 발생했습니다.

이 문제는 관련 솔루션을 여기에 새 구성을 추가하여 사용할 수 있습니다.

이 게시물은 솔루션 내의 모든 프로젝트에 올바른 구성이 있는지 이미 확인한 후 참조 된 어셈블리를 확인하는 아이디어를 제공했습니다.

http://gabrielmagana.com/2010/04/solution-to-the-outputpath-property-is-not-set-for-this-project/


.csproj 파일의 시작 부분에 다음 줄을 가깝게 이동하고 이런 일이 발생했습니다.

  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets"/>

구성 | 플랫폼을 정의하는 PropertyGroups 목록을 배치해야합니다.


동일한 오류가 발생하여 프로젝트 설정을 "빌드"섹션에 "Build output path"옵션이 있습니다. 그리고 값은 비어 있습니다. 그래서 "bin \"값을 입력하면 오류가 사라집니다. 내 문제가 해결되었습니다.


MSBuild를 사용하여 명령 줄에서 프로젝트를 사용하려고 할 때만이 오류가 발생하는 경우 (제 경우와 같이) 해결은 .NET Framework와 인수를 사용하여 MSBuild에 수동으로 출력 경로를 전달하는 것 /p:OutputPath=MyFolder입니다.


또 다른 미친 가능성 : Branch \ Main, Main 및 Release를 나란히 배치하는 간단한 소스 제어 배열을 고 어떻게 든 Branch \ Main 대신 Main에서 기존 프로젝트를 추가하는 경우 (작업 솔루션이 Branch \라고 가정하면 Main),이 오류 가 표시 될 수 있습니다.

해결은 간단합니다. 올바른 프로젝트를 참조하십시오!


프로젝트를 솔루션에 추가 한 다음 동일한 솔루션의 다른 프로젝트에서 참조 할 때이 문제가 발생했습니다. 참조 위에 노란색 경고 아이콘이 표시되고 경로가 비어 있음을 알 수 있습니다.

솔루션은 @Amzath가 제안한 것과 유사하고 내 프로젝트는 다른 대상 프레임 워크로 목표합니다. .NET 4.0 대 4.5.


제 경우에는 앱의 빌드 주소가 꺼진 다른 컴퓨터로 설정되어 전원을 켜고 VS를 다시 시작하면 문제가 해결됩니다.


새 구성을 추가하고 "디버그"및 "릴리스"구성을 삭제 한 후에도 문제가 발생했습니다. 제 경우에는 cmd 파일을 사용하여 빌드 및 게시 프로세스를 실행했지만 오류가 발생했습니다. 나를위한 솔루션 : csproj 파일에서 다음을 수행하십시오.

<Configuration Condition=" '$(Configuration)' == '' ">Debug< /Configuration>

명시 적으로 지정하지 않은 경우 구성을 "디버그"로 설정했습니다. 노드 값을 "디버그"에서 사용자 지정 구성으로 변경 한 후 모든 것이 원활하게 작동했습니다. 이것이 또한 읽는 사람에게 도움이되기를 바랍니다 :)


나는 가지고있다 :

  1. 문제가있는 프로젝트마우스 오른쪽 버튼으로 클릭 -> 프로젝트 언로드
  2. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 * .csproj 편집을 선택합니다.
  3. 특정 이름 및 대상 플랫폼에서 작동하는 기존 구성의 구성을 복사하여 붙여 넣습니다 ( Release | x64가 있음 ).

    <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
      <OutputPath>bin\x64\Release\</OutputPath>
      <DefineConstants>TRACE</DefineConstants>
      <Optimize>true</Optimize>
      <DebugType>pdbonly</DebugType>
      <PlatformTarget>x64</PlatformTarget>
      <ErrorReport>prompt</ErrorReport>
      <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
      <Prefer32Bit>true</Prefer32Bit>
    </PropertyGroup>
    
  4. 프로젝트를 마우스 오른쪽 버튼으로 클릭 -> 프로젝트 다시로드
  5. 프로젝트 / 솔루션 재 구축

또 다른 원인 : 프로젝트 A의 프로젝트 참조를 솔루션 X의 프로젝트 B에 추가합니다. 그러나 프로젝트 B를 솔루션 Y에 추가 할 때까지 이미 프로젝트 A가 포함 된 솔루션 Y는 이제 중단됩니다.


나는 같은 문제가 있었다. 모든 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' ... >요소가 나란히 있도록 .wixproj를 편집하십시오 .

내 문제가 해결되었습니다.


내가 사용하고 있던 WiX 프로젝트는 전체적으로 구성 관리자에서 설정되었습니다 x64. 솔루션에 대한 사용자 지정 작업 프로젝트를 만들 때 파일 x86내에서 모든 것을 기본값으로 설정했습니다 .csproj. 내가 프로젝트를 언로드 그래서, 모든 변경하여 편집 x86x64저장, 다시로드를, 그 후에 갈 수 있었다.

왜 이렇게해야하는지 이해가 안 돼요. 구성 관리자는 x64로 빌드하도록 설정되었지만 csproj파일에 설정되지 않았습니다.


여기에 게시 된 다른 모든 제안을 시도한 후 해결책은 .csproj파일 에서 다음 섹션을 제거하는 것임을 발견했습니다 .

  <ItemGroup>
    <Service Include="{808359B6-6B82-4DF5-91FF-3FCBEEBAD811}" />
  </ItemGroup>

분명히 원래 프로젝트의이 서비스 (로컬 머신에서 사용할 수 없음)는 컴파일에 필수적인 것은 아니지만 전체 빌드 프로세스를 중지했습니다.


빌드 파이프 라인에서 .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"를 사용하려는 이유는 나에게 미스터리이지만이 해킹은 작동합니다.


내 프로젝트에 새 플랫폼을 추가 한 후이 문제가 발생했습니다. 제 경우에는 .csproj 파일이 Perforce 소스 제어하에 있었고 읽기 전용이었습니다. 나는 그것을 확인했지만 VS는 그것을 다시 시작할 때까지 변경 사항을 포착하지 못했습니다.

참고 URL : https://stackoverflow.com/questions/9086795/the-outputpath-property-is-not-set-for-this-project

반응형