<Subtype> Designer </Subtype> Aggiunto e rimosso da Visual Studio durante il caricamento / scaricamento


177

Qualcuno l'ha visto prima? Ho un grande progetto di Visual Studio che continua ad aggiungersi [Subtype]Designer[/Subtype]al mio, .vcprojrimuovendolo alla successiva apertura e chiusura del progetto. C'è solo una classe definita in StoredImageControl.cs. Qualcuno sa come spegnerlo perché sta davvero rovinando il mio controllo di revisione.

Questo è prima di:

<EmbeddedResource Include="StoredImageControl.resx">
  <DependentUpon>StoredImageControl.cs</DependentUpon>
</EmbeddedResource>

Questo è dopo

<EmbeddedResource Include="StoredImageControl.resx">
  <DependentUpon>StoredImageControl.cs</DependentUpon>
  <SubType>Designer</SubType>
</EmbeddedResource>

Vedere la stessa cosa con <SubType> UserControl </SubType> in VS 2005. Molto strano.
David Gardiner,

1
Vedo anche questo problema in VS 2008
schoetbi

1
Ci siamo imbattuti in questo nel 2010. Anche confuso.
Jon Davis,

Stessa cosa che mi succede sempre in VS 2008. Cerco di ridurre l'impatto del controllo della sorgente ripristinando subito dopo il checkout, proprio prima di iniziare a fare qualsiasi lavoro reale ... ma è un kludge e spesso mi dimentico di farlo. Hai provato a segnalarlo tramite connect.microsoft.com?
Alan,

2
Perché hai un file di codice sorgente C # in un progetto C / C ++?
Hans Passant,

Risposte:


95

Ciò potrebbe essere correlato ai file aperti nello stato della soluzione salvata. Ho riscontrato questo problema in VS2010 e ho scoperto che se chiudessi la soluzione mentre un file .xml era aperto nell'editor, alla successiva riapertura della soluzione, il progetto contenente quel file .xml avrebbe <SubType>Designer</SubType>aggiunto questa riga. Se chiudo la soluzione senza aprire quel file, tuttavia, non tenta di aggiungere quella riga alla successiva riapertura.


8
Questo sembra essere stato il problema per me (anche VS 2010). Tuttavia fastidioso che Visual Studio apporterebbe le proprie modifiche ai file solo in base a quelli che sono aperti, soprattutto dal momento che vengono visualizzati nel sistema di controllo del codice sorgente. Devo amare le "caratteristiche" di Microsoft ...
Ben Sutton,

10
Questo è ancora un problema aperto con MS: connect.microsoft.com/VisualStudio/feedback/details/757970/…
Pat

4
È VS2015, eppure questo si verifica ancora.
Johnny_D,

2
VS2017, ancora un problema. Rende impossibile l'utilizzo del controllo del codice sorgente, perché VS aggiunge costantemente questi stupidi <Subtype>Designer</SubType>tag sporadicamente.
Triynko,

1
Hanno ucciso connect ma developercommunity.visualstudio.com/content/problem/204355/... dice che è risolto, almeno per VS2019 Preview 2
Josh Sutterfield

38

Questo è stato un problema in almeno 3 edizioni di Visual Studio, 2008, 2010 e ora 2012. È registrato come un bug in Microsoft Connect ma la risposta di MS è "Abbiamo registrato la tua richiesta ma non stiamo pianificando di risolverlo in questo tempo." Suggerisci di votare la segnalazione di bug in quanto è ancora attiva e potrebbe ottenere una risposta migliore dagli Stati membri con voti sufficienti.


25
2013 e ora 2015 hanno lo stesso problema.
James Skemp,

4
Sì, l'ho visto per la prima volta in VS2015 proprio ora.
Giovanni

2
No JohnC, non è un bug, è un reato.
Patrick Fromberg,

4
Microsoft Connect è stato deprecato, ho aperto un nuovo problema su developercommunity.visualstudio.com. È "Under Consideration", quindi votalo!
enzi,

"Abbiamo risolto questo problema ed è disponibile in Visual Studio 2019 Preview 2 Grazie per il tuo feedback!" - secondo una soluzione sul problema della devcommunity.
Josh Sutterfield,

8

Sto riscontrando lo stesso problema nel file .csproj della mia applicazione Web ASP.NET:

<ItemGroup>
  <Content Include="site.master" />
  <Content Include="Web.config">
    <SubType>Designer</SubType>
  </Content>
</ItemGroup>

Contro:

<ItemGroup>
  <Content Include="site.master" />
  <Content Include="Web.config" />
</ItemGroup>

Il mio fastidio per questo problema è dovuto anche alle modifiche del controllo di revisione. Il problema sembra essere presente in VS 2005/2008/2010. Ho trovato la seguente domanda sui forum Microsoft, ma la risposta non è chiara.

Spero che un'impostazione VS la causi, nel qual caso, mi piacerà che tu sappia quando scoprirò qual è quell'impostazione.


1
Il problema è urgente anche rispetto al 2013.
Johan,

Solo un altro esempio di Visual Studio che modifica i file quando ne hai voglia. Un giorno Microsoft si renderà finalmente conto che l'utente dovrebbe essere responsabile e di cambiare casualmente i file senza che gli utenti OK non debbano MAI accadere
goneskiing

7

Cerchi di inserire il sottotipo come attributo dell'oggetto EmbeddedResource?

<EmbeddedResource Include="StoredImageControl.resx" SubType="Designer"> 
  <DependentUpon>StoredImageControl.cs</DependentUpon> 
</EmbeddedResource> 

Ho visto una domanda come la tua nel seguente link e ha risolto il suo problema con questo:

http://community.sharpdevelop.net/forums/t/9977.aspx


1
L'uso del SubTypetrucco dell'attributo non funziona sugli <Content>elementi: VS2010 lamenta che l'attributo non è riconosciuto.
Pierre Arnaud,

3

Ho scoperto che <SubType>Designer</SubType>cambia il comportamento di Web.config.

Utilizziamo WebDeploy per pubblicare file di servizi Web.

Se Sottotipo è impostato per Web.config, pubblica questo file correttamente nella directory principale in cui vanno tutti i file di contenuto e .svc.

Se Sottotipo non è impostato - lo fa sopra ma copia anche Web.config sotto bin \ sottodirectory - il che è molto strano! Nel registro MsBuild ciò accade durante la destinazione CollectFilesFrom_SourceItemsToCopyToOutputDirectory.


0

Anche per me questo causa problemi con il controllo della versione quando vengono aggiunti nuovi file al progetto.

Per ovviare a ciò ho fatto: annullare le modifiche in sospeso al file di progetto e quindi aggiungere manualmente nuovi file facendo clic con il pulsante destro del mouse -> aggiungi file esistenti al progetto.

Mentre lo fai, il tag < SubType >Designer< /SubType >non arriva.

Spero che questo possa aiutare qualcuno. Quindi pubblicando questo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.