Programing

/ obj / debug 브레이킹 빌드의 TemporaryGeneratedFile_ [guid]

lottogame 2021. 1. 7. 07:35
반응형

/ obj / debug 브레이킹 빌드의 TemporaryGeneratedFile_ [guid]


obj / debug에 3 개의 임시 파일이 생성됩니다.

  • TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
  • TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
  • TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

(솔루션 청소 후에도 가이드가 바뀌지 않는 것 같습니다)

내 빌드는 다음과 같은 이유로 실패합니다.

SA1633 : 파일에 헤더가 없거나 Xml 헤더가 잘못되었거나 헤더가 파일의 맨 위에 없습니다.

StyleCop 규칙을 끄고 싶지 않습니다. 이러한 임시 파일을 생성하는 것이 무엇인지 어떻게 알 수 있습니까?

이 사이트는 5 개의 모델, 4 개의 컨트롤러, 2 개의 클래스, 2 개의 aspx 웹 페이지 및 1 개의 서비스 참조가있는 asp.net MVC 4 사이트로, 숫자 적으로 3 개의 파일로 집계되지 않는 것 같습니다.

포인터가 있습니까?

편집 : 프레임 워크를 4.5에서 다시 4로 변경하면이 파일이 사라지고 빌드가 성공합니다.

내 StyleCop 버전은 4.4이며 obj / debug를 무시할 수있는 방법을 찾고 있습니다.


이 문제를 해결 한 프로젝트 솔루션 (그의 빌드)이이 오류를 제공했습니다.

  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트를 언로드합니다.
  2. 그런 다음 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 .csproj 파일을 편집합니다.
  3. 이러한 임시 (문제가있는) 생성 파일을 찾으십시오. (예제 코드 참조)
  4. .csproj 파일에서이 파일 참조를 제거하십시오.
  5. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트를 다시로드합니다.
  6. 솔루션을 다시 빌드하십시오.
  7. 이제 가면 좋습니다 ...

csproj 파일에서 다음과 같이 보입니다.

<Compile Include="src\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs" />
<Compile Include="src\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs" />
<Compile Include="src\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs" />

StyleCop.Settings 파일의 파서 블록에서 다음 파일에 대한 항목을 추가합니다. 값은 정규식이므로 guid와 일치하는 더 엄격한 값을 사용할 수 있지만 지금은 제 요구를 충족합니다.

  <Parsers>
    <Parser ParserId="Microsoft.StyleCop.CSharp.CsParser">
      <ParserSettings>
        <BooleanProperty Name="AnalyzeDesignerFiles">False</BooleanProperty>
        <CollectionProperty Name="GeneratedFileFilters">
          <Value>\.g\.cs$</Value>
          <Value>\.generated\.cs$</Value>
          <Value>\.g\.i\.cs$</Value>
          <Value>TemporaryGeneratedFile_.*\.cs$</Value>
        </CollectionProperty>
      </ParserSettings>
    </Parser>
  </Parsers>

"TemporaryGeneratedFile_"접두사가있는 3 개의 파일은 체인을 통해 가져올 가능성이 가장 높은 Microsoft.WorkflowBuildExtensions.targets 파일에 의해 자동 생성됩니다.

  • * .csproj->
  • Microsoft.CSharp.targets->
  • Microsoft.Common.targets->
  • Microsoft.WorkflowBuildExtensions.targets

$(IntermediateOutputPath)MSBuild 속성이 가리키는 중간 출력 경로 아래에 생성됩니다 obj\debug. 이러한 자동 생성 파일에 대한 StyleCop 경고 / 오류를 처리하는 한 가지 방법은 StyleCop에 .cs 파일 아래의 모든 * .cs 파일을 건너 뛰도록 지시하는 것 $(IntermediateOutputPath)입니다. 예를 들어 프로젝트에 다음 항목을 포함합니다.

<ItemGroup>
    <ExcludeFromStyleCop Include="$(IntermediateOutputPath)\**\*.cs" />
</ItemGroup>

ExcludeFromStyleCop is an item name recognized by the StyleCop.targets file to exclude files from analysis during a build (at least for StyleCop 4.7). The double star ** is MSBuild syntax for searching recursively under a folder.

The new item might show up in the Solution Explorer in Visual Studio. If that is undesirable it can be hidden by using the 'Visible' item metadata:

<ItemGroup>
    <ExcludeFromStyleCop Include="$(IntermediateOutputPath)\**\*.cs" >
        <Visible>False</Visible>
    </ExcludeFromStyleCop>
</ItemGroup>

Similar approach can be used to exclude other files if necessary. I hope that helps.


I was helping a colleague who had added a new project to our main VS solution and who got these same 3 errors. I went through the suggested steps above with him but did not have any success in fixing it. After this, I discovered he had missed one of the steps we perform when adding a new project within our solution that uses Code Analysis and StyleCop. He had forgot to add the Settings.StyleCop file to his project :)


I have recently ran into this same problem out of nowhere.

For me, I was able to overcome this by opening the .csproj files for each project, then remove the following line:

<Import Project="$(SolutionDir)\CodeAnalize\Microsoft.StyleCop.targets" />

After re-opening the solution, it was able to build everything without an error.


I faced a similar problem and solved it as follow:

Deleted debug in bin folder in addition to debug in obj folder rebuild and it worked

ReferenceURL : https://stackoverflow.com/questions/12405619/temporarygeneratedfile-guid-in-obj-debug-breaking-build

반응형