<Subtype> Designer </Subtype> Ditambahkan lalu dihapus oleh Visual Studio saat memuat / membongkar

177

Adakah yang pernah melihat ini sebelumnya? Saya memiliki proyek Visual Studio besar yang terus menambah [Subtype]Designer[/Subtype]saya .vcprojkemudian menghapusnya pada pembukaan dan penutupan proyek berikutnya. Hanya ada satu kelas yang didefinisikan di StoredImageControl.cs. Ada yang tahu cara mematikan ini karena itu benar-benar mengacaukan kontrol revisi saya.

Ini sebelum:

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

Ini setelah

<EmbeddedResource Include="StoredImageControl.resx">
  <DependentUpon>StoredImageControl.cs</DependentUpon>
  <SubType>Designer</SubType>
</EmbeddedResource>
Jeff Lundstrom
sumber
Melihat hal yang sama dengan <SubType> UserControl </SubType> di VS 2005. Sangat aneh.
David Gardiner
1
Saya juga melihat masalah ini di VS 2008
schoetbi
1
Berlari ke dalam ini di VS 2010. Juga bingung.
Jon Davis
Hal yang sama terjadi pada saya di VS 2008 sepanjang waktu. Saya mencoba untuk mengurangi dampak kontrol sumbernya dengan kembali segera setelah checkout, tepat sebelum mulai melakukan pekerjaan yang sebenarnya ... tapi itu adalah kludge dan saya sering lupa melakukannya. Sudahkah Anda mencoba melaporkannya melalui connect.microsoft.com?
Alan
2
Mengapa Anda memiliki file kode sumber C # dalam proyek C / C ++?
Hans Passant

Jawaban:

95

Ini mungkin terkait dengan file apa yang Anda buka di negara solusi yang disimpan. Saya mengalami masalah ini di VS2010 dan menemukan bahwa jika saya menutup solusi ketika file .xml terbuka di editor, maka pada pembukaan kembali solusi berikutnya, proyek yang mengandung file .xml akan mendapatkan <SubType>Designer</SubType>baris ini ditambahkan. Jika saya menutup solusi tanpa membuka file itu, itu tidak mencoba untuk menambahkan baris itu pada pembukaan kembali berikut.

Nathan Reed
sumber
8
Itu tampaknya menjadi masalah bagi saya (VS 2010 juga). Mengganggu bahwa Visual Studio akan membuat perubahan sendiri ke file Anda hanya berdasarkan mana yang terbuka, terutama karena mereka muncul di sistem kontrol sumber Anda. Harus menyukai "fitur" Microsoft ...
Ben Sutton
10
Ini masih merupakan masalah terbuka dengan MS: connect.microsoft.com/VisualStudio/feedback/details/757970/…
Pat
4
Ini VS2015, namun ini masih terjadi.
Johnny_D
2
VS2017, masih menjadi masalah. Membuat kontrol sumber menjadi mustahil, karena VS terus-menerus menambahkan <Subtype>Designer</SubType>tag bodoh ini secara sporadis.
Triynko
1
Mereka membunuh koneksi tetapi developercommunity.visualstudio.com/content/problem/204355/... mengatakan setidaknya sudah dipecahkan untuk VS2019 Preview 2
Josh Sutterfield
38

Ini telah menjadi masalah dalam setidaknya 3 edisi Visual Studio, 2008, 2010 dan sekarang 2012. Ini dicatat sebagai bug di Microsoft Connect tetapi jawaban MS adalah "Kami telah mencatat permintaan Anda tetapi tidak berencana untuk memperbaikinya di ini waktu." Sarankan Anda memilih laporan bug karena masih aktif dan mungkin mendapatkan respons yang lebih baik dari MS dengan suara yang cukup.

JohnC
sumber
25
2013 dan sekarang 2015 memiliki masalah yang sama.
James Skemp
4
Yup, melihatnya untuk pertama kali di VS2015 sekarang.
JohnC
2
Bukan JohnC, ini bukan bug, itu adalah kejahatan.
Patrick Fromberg
4
Microsoft Connect telah usang, saya membuka masalah baru di developercommunity.visualstudio.com. Ini "Di Bawah Pertimbangan", jadi pilih itu!
enzi
"Kami telah memperbaiki masalah ini dan tersedia di Visual Studio 2019 Pratinjau 2 Terima kasih atas tanggapan Anda!" - Menurut solusi tentang masalah komunitas.
Josh Sutterfield
8

Saya mengalami masalah yang sama dalam file .csproj aplikasi web ASP.NET aplikasi saya:

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

Melawan:

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

Kesal saya dengan masalah ini adalah karena perubahan kontrol revisi juga. Masalah ini tampaknya hadir dalam VS 2005/2008/2010. Telah menemukan pertanyaan berikut di forum Microsoft, tetapi jawabannya tidak jelas.

Saya berharap pengaturan VS menyebabkannya, dalam hal ini, saya ingin Anda tahu kapan saya mengetahui apa pengaturan itu.

JohnB
sumber
1
Masalah juga mendesak di vs 2013 juga.
Johan
Contoh lain dari Visual Studio memodifikasi file ketika rasanya seperti. Suatu hari Microsoft akhirnya akan menyadari bahwa pengguna harus bertanggung jawab dan secara acak mengubah file tanpa pengguna OKE TIDAK PERNAH terjadi
goneskiing
7

Apakah Anda mencoba meletakkan SubTip sebagai atribut objek EmbeddedResource?

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

Saya melihat pertanyaan seperti milik Anda di tautan berikut dan dia memecahkan masalahnya dengan ini:

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

Mauro Gagna
sumber
1
Menggunakan SubTypetrik atribut tidak berfungsi pada <Content>elemen: VS2010 mengeluh bahwa atribut tidak dikenali.
Pierre Arnaud
3

Saya menemukan bahwa <SubType>Designer</SubType>mengubah perilaku untuk Web.config.

Kami menggunakan WebDeploy untuk menerbitkan file layanan web.

Jika SubTipe diatur untuk Web.config - ia menerbitkan file ini dengan benar di bawah direktori utama di mana semua file konten pergi dan .svc.

Jika SubType tidak disetel - ia berfungsi di atas tetapi juga menyalin Web.config di bawah subdirektori bin \ - yang sangat aneh! Dalam log MsBuild ini terjadi selama target CollectFilesFrom_SourceItemsToCopyToOutputDirectory.

Ivan
sumber
0

Bagi saya juga ini menyebabkan masalah dengan kontrol versi ketika menambahkan file baru ke proyek.

Sebagai pekerjaan di sekitar saya lakukan: membatalkan perubahan yang tertunda ke file proyek dan kemudian secara manual menambahkan file baru dengan klik kanan -> tambahkan file yang ada ke proyek.

Saat melakukan ini, tag < SubType >Designer< /SubType >tidak datang.

Semoga ini bisa membantu seseorang. Karenanya memposting ini.

NidhinSPradeep
sumber