/ 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를 무시할 수있는 방법을 찾고 있습니다.
이 문제를 해결 한 프로젝트 솔루션 (그의 빌드)이이 오류를 제공했습니다.
- 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트를 언로드합니다.
- 그런 다음 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 .csproj 파일을 편집합니다.
- 이러한 임시 (문제가있는) 생성 파일을 찾으십시오. (예제 코드 참조)
- .csproj 파일에서이 파일 참조를 제거하십시오.
- 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트를 다시로드합니다.
- 솔루션을 다시 빌드하십시오.
- 이제 가면 좋습니다 ...
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
'Programing' 카테고리의 다른 글
objdump가 인텔 구문을 내보내는 방법 (0) | 2021.01.07 |
---|---|
JavaFX에서 ID가있는 요소를 찾는 방법은 무엇입니까? (0) | 2021.01.07 |
취소 가능한 비동기 / 대기에서 TransactionScope를 처리하는 방법은 무엇입니까? (0) | 2021.01.07 |
속성으로 ArrayList에서 개체를 찾는 방법 (0) | 2021.01.07 |
Linux 공유 메모리 : shmget () 대 mmap ()? (0) | 2021.01.07 |