TemporaryGeneratedFile [guid] in / obj / debug breaking build

W obj/debug powstają 3 pliki tymczasowe:

Np.

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

(guid nie zmieniają się nawet po czystym roztworze)

Moja budowa zawodzi ponieważ:

SA1633: plik nie ma nagłówka, nagłówek XML jest nieprawidłowy lub nagłówek nie znajduje się na górze pliku.

Nie chcę wyłączać reguły StyleCop. Jak dowiedzieć się, co tworzy te pliki tymczasowe?

Strona jest asp.net MVC 4 site, z 5 modelami, 4 kontrolerami, 2 klasami, 2 stronami www aspx i 1 referencją serwisową, która numerycznie nie pasuje do 3 plików.

Jakieś wskazówki?

Edit: jeśli zmienię framework z 4.5 z powrotem na 4 Te pliki znikną budowa zakończyła się sukcesem.

Moja wersja Stylecopa to 4.4, Jestem bardziej niż otwarty na znalezienie sposobu, aby zignorować obj / debug

Author: bobbymcr, 2012-09-13

6 answers

Rozwiązałem ten problem przechodząc do rozwiązania projektu (którego budowa) powodowała ten błąd.

  1. Kliknij prawym przyciskiem myszy na projekcie i rozładuj projekt.
  2. następnie kliknij prawym przyciskiem myszy projekt i edytuj .plik csproj.
  3. poszukaj tych tymczasowych (problematycznych) wygenerowanych plików. (patrz przykładowy kod)
  4. Usuń odniesienia do tego pliku z .plik csproj.
  5. Kliknij prawym przyciskiem myszy projekt i załaduj go z powrotem.
  6. odbudować rozwiązanie.
  7. Its good to go teraz...

Wyglądają tak w pliku 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" />
 76
Author: Rajesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-20 06:35:41

W bloku parserów StyleCop.Plik ustawień Dodaj wpis dla tych plików: Wartość jest regex, więc ciaśniejszy dla dopasowania guid może być używany, ale te spełnia moje potrzeby na razie.

  <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>
 38
Author: NikolaiDante,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-14 09:17:41

3 pliki z prefiksem" TemporaryGeneratedFile_ " są automatycznie generowane przez Microsoft.WorkflowBuildExtensions.plik docelowy najprawdopodobniej importowany przez łańcuch:

  • *.csproj -- >
  • Microsoft.CSharp.cele -- >
  • Microsoft.Pospolite.cele -- >
  • Microsoft.WorkflowBuildExtensions.cele

Są one generowane pod pośrednią ścieżką wyjściową wskazywaną przez właściwość $(IntermediateOutputPath) MSBuild, zwykle coś w rodzaju obj\debug. Jednym ze sposobów radzenia sobie z Ostrzeżenia StyleCop / błędy dotyczące tych automatycznie wygenerowanych plików jest powiedzieć StyleCop pomiń dowolny *.pliki cs pod $(IntermediateOutputPath). Na przykład dołącz do projektu następujący element:

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

ExcludeFromStyleCop jest nazwą elementu rozpoznawaną przez Kop.plik docelowy, aby wykluczyć pliki z analizy podczas kompilacji (przynajmniej dla StyleCop 4.7). Gwiazda podwójna ** jest składnią MSBuild służącą do rekurencyjnego przeszukiwania folderu.

Nowa pozycja może pojawić się w Eksploratorze rozwiązań w Visual Studio. Jeśli jest to niepożądane, można je ukryć za pomocą "widocznych" metadanych elementu:

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

Podobne podejście może być użyte do wykluczenia innych plików, jeśli to konieczne. Mam nadzieję, że to pomoże.

 15
Author: Vlado,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-25 22:18:44

Pomagałem koledze, który dodał nowy projekt do naszego głównego rozwiązania VS i który dostał te same błędy 3. Przeszedłem z nim sugerowane wyżej kroki, ale nie udało mi się go naprawić. Po tym odkryłem, że pominął jeden z kroków, które wykonujemy podczas dodawania nowego projektu w naszym rozwiązaniu, które wykorzystuje analizę kodu i StyleCop. Zapomniał dodać ustawienia.Plik StyleCop do swojego projektu:)

 0
Author: John,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-09 16:27:09

Ostatnio natknąłem się na ten sam problem znikąd.

Dla mnie udało mi się to przezwyciężyć otwierającpliki csproj dla każdego projektu, następnie usuń następujący wiersz:
<Import Project="$(SolutionDir)\CodeAnalize\Microsoft.StyleCop.targets" />

Po ponownym otwarciu rozwiązania, było w stanie zbudować wszystko bez błędu.

 0
Author: erupnu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-09 00:15:20

Stanąłem przed podobnym problemem i rozwiązałem go następująco:

Deleted debug in bin folder oprócz debugowania w folderze obj rebuild and it worked

 0
Author: Mortada Issa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-16 14:33:29