<Subtype> Дизайнер </Subtype> Додано та видалено Visual Studio під час завантаження / вивантаження


177

Хтось бачив це раніше? У мене є великий проект Visual Studio, який постійно додає [Subtype]Designer[/Subtype]до мого, .vcprojпотім видаляє його на наступному відкритому та закритому проекті. Існує лише один клас, визначений в StoredImageControl.cs. Хтось знає, як це вимкнути, оскільки він справді псує мій контроль перегляду.

Це перед:

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

Це після

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

Бачити те ж саме з <SubType> UserControl </SubType> у VS 2005. Дуже дивно.
Девід Гардінер

1
Я також бачу цю проблему в VS 2008
scietbi

1
Натрапив на це в VS 2010. Також заплутався.
Джон Девіс

Те саме відбувається зі мною у VS 2008 весь час. Я намагаюся зменшити його вплив на управління джерелом, повертаючись незабаром після оформлення замовлень, безпосередньо перед тим, як почати виконувати будь-яку фактичну роботу ... але це неприємність, і я часто забуваю це робити. Ви намагалися повідомити про це через connect.microsoft.com?
Алан

2
Чому у проекті C / C ++ у вас є файл вихідного коду C #?
Ганс Пасант

Відповіді:


95

Це може бути пов’язано з файлами, які ви відкрили у збереженому стані рішення. Я зіткнувся з цією проблемою у VS2010 і виявив, що якщо я закрию рішення, поки в редакторі був відкритий файл .xml, то при наступному повторному відкритті рішення проект, що містить цей .xml-файл, <SubType>Designer</SubType>додасть цей рядок. Якщо я закрию рішення, не відкриваючи цей файл, він не намагається додати цей рядок у наступному повторному відкритті.


8
Це, здається, було проблемою для мене (також VS 2010). Прикро, однак, що Visual Studio зробить власні зміни у ваших файлах лише на основі відкритих файлів, тим більше, що вони з’являються у вашій системі управління джерелами. Маємо любити "особливості" Microsoft ...
Бен Саттон

10
Це все ще залишається відкритим питання з МС: connect.microsoft.com/VisualStudio/feedback/details/757970 / ...
Pat

4
Це VS2015, і все ж це все ще відбувається.
Johnny_D

2
VS2017, як і раніше проблема. Робить неможливим використання керування джерелами, оскільки VS постійно додає ці дурні <Subtype>Designer</SubType>теги епізодично.
Трайко

1
Вони вбили підключення, але developercommunity.visualstudio.com/content/problem/204355/… каже, що це вирішено принаймні для VS2019 Попередній перегляд 2
Josh Sutterfield

38

Ця проблема була принаймні у 3-х виданнях Visual Studio, 2008, 2010 та зараз 2012 року. Вона зафіксована як помилка в Microsoft Connect, але відповідь MS: "Ми записали ваш запит, але не плануємо цього виправляти". час ». Запропонуйте вам проголосувати звіт про помилку, оскільки він все ще активний і може отримати кращу відповідь від MS із достатньою кількістю голосів.


25
2013 і зараз 2015 мають те саме питання.
Джеймс Скемп

4
Так, вперше побачив це в VS2015.
JohnC

2
Ні JohnC, це не помилка, це кримінальне правопорушення.
Патрік Фромберг

4
Microsoft Connect застаріла, я відкрив нове видання на developercommunity.visualstudio.com. Це "Під врахуванням", тому голосуйте за нього!
enzi

"Ми вирішили цю проблему, і вона доступна в Visual Studio 2019 Preview 2. Дякую за відгук!" - відповідно до рішення з питання девкомунства.
Джош Саттерфілд

8

З тією ж проблемою я зустрічаюся і у файлі .csproj веб-програми ASP.NET:

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

Проти:

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

Моя роздратованість цим питанням пов'язана також із змінами контролю ревізії. Здається, питання присутнє у VS 2005/2008/2010. На форумах Microsoft знайшли таке питання, але відповідь не зрозуміла.

Я сподіваюся, що налаштування VS викликає це, і в цьому випадку мені сподобається, що ви знаєте, коли я дізнаюся, що це за настройка.


1
Випуск присутній і в порівнянні з 2013 роком.
Йоган

Ще один приклад модифікації файлів Visual Studio, коли це здається. Одного разу Microsoft нарешті зрозуміє, що користувач повинен бути відповідальним і випадково змінювати файли без користувачів. Добре, якщо НІКОЛИ не трапиться
goneskiing

7

Ви намагаєтесь поставити SubType як атрибут об’єкта EmbeddedResource?

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

Я побачив таке питання, як ваше, у наступному посиланні, і він вирішив свою проблему з цим:

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


1
Використання SubTypeтрюку атрибутів не працює на <Content>елементи: VS2010 скаржиться, що атрибут не розпізнається.
П’єр Арно

3

Я це виявив <SubType>Designer</SubType> змінює поведінку для Web.config.

Ми використовуємо WebDeploy для публікації файлів веб-служб.

Якщо SubType є набір для Web.config - він правильно публікує цей файл у головному каталозі, куди переходять усі файли вмісту та .svc.

Якщо SubType не встановлений - він робить вище, але також копіює Web.config під bin \ підкаталог - що дуже дивно! У журналі MsBuild це відбувається під час цілі CollectFilesFrom_SourceItemsToCopyToOutputDirectory.


0

Для мене це також викликає проблеми з контролем версій при додаванні нових файлів до проекту.

Я вирішив: скасувати очікування змін до файлу проекту, а потім вручну додати нові файли правою кнопкою миші -> додати існуючі файли до проекту.

Під час цього тег < SubType >Designer< /SubType >не з'являється.

Сподіваюся, що це комусь допоможе. Отже, розміщуйте це.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.