TemporaryGeneratedFile_[guid] in /obj/debug breaking build

后端 未结 6 1852
我在风中等你
我在风中等你 2020-12-24 04:58

I have 3 temporary files being created in obj/debug:

E.g.

  • TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
  • TemporaryGeneratedFil
相关标签:
6条回答
  • 2020-12-24 05:11

    I solved this issue by going to the project solution (whose build) was giving this error.

    1. right click on the project and unload the project.
    2. Then right click on the project and edit the .csproj file.
    3. Look for these temp (problematic) generated files. (see example code)
    4. remove this file references from the .csproj file.
    5. Right click on project and load back the project.
    6. Rebuild the solution.
    7. Its good to go now...

    they look like this in the csproj file:

    <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" />
    
    0 讨论(0)
  • 2020-12-24 05:25

    The 3 files with "TemporaryGeneratedFile_" prefix are auto-generated by the Microsoft.WorkflowBuildExtensions.targets file most likely imported via the chain:

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

    They are generated under the intermediate output path pointed by the $(IntermediateOutputPath) MSBuild property, usually something like obj\debug. One way to deal with the StyleCop warnings/errors about these auto-generated files is to tell StyleCop to skip any *.cs files under the $(IntermediateOutputPath). For example, include the following item in your project:

    <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.

    0 讨论(0)
  • 2020-12-24 05:26

    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 :)

    0 讨论(0)
  • 2020-12-24 05:27

    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

    0 讨论(0)
  • 2020-12-24 05:31

    In the parsers block of a StyleCop.Settings file add an entry for these files: The value is a regex, so a tighter one for matching a guid could be used, but these meets my need for now.

      <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>
    
    0 讨论(0)
  • 2020-12-24 05:32

    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.

    0 讨论(0)
提交回复
热议问题