<Подтип> Конструктор</Подтип> Добавлен, затем удаляется Visual Studio при загрузке/выгрузке

Кто-нибудь видит это раньше? У меня большой проект 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>

Ответ 1

Это может быть связано с тем, какие файлы вы открыли в сохраненном состоянии решения. Я столкнулся с этой проблемой в VS2010 и обнаружил, что если я закрою решение, когда в редакторе открыт файл .xml, то при последующем повторном открытии решения проект, содержащий этот .xml файл, получит этот <SubType>Designer</SubType> строка добавлена. Однако, если я закрываю решение без открытия этого файла, он не пытается добавить эту строку в следующее повторное открытие.

Ответ 2

Это проблема, по крайней мере, в трех версиях Visual Studio, 2008, 2010 и сейчас 2012. Она зарегистрирована как ошибка в Microsoft Connect, но MS ответ: "Мы записали ваш запрос, но не планируем исправлять это в это время". Предложите вам опубликовать отчет об ошибке, поскольку он все еще активен и может получить лучший ответ от MS с достаточным количеством голосов.

Ответ 3

Я сталкиваюсь с той же проблемой в моем веб-приложении ASP.NET.csproj:

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

Versus:

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

Мое раздражение этой проблемой связано с изменениями контроля версий. Проблема, похоже, присутствует в VS 2005/2008/2010. Вы нашли следующий вопрос на форумах Microsoft, но ответ не ясен.

Я надеюсь, что это вызовет настройку VS, и в этом случае мне понравится, когда узнаете, что это за настройка.

Ответ 4

Вы пытаетесь поместить SubType в качестве атрибута объекта EmbeddedResource?

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

Я увидел вопрос, подобный вашему, в следующей ссылке, и он решил свою проблему с этим:

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

Ответ 5

Я обнаружил, что <SubType>Designer</SubType> изменяет поведение для Web.config.

Мы используем WebDeploy для публикации файлов веб-сервисов.

Если SubType установлен для Web.config - он публикует этот файл правильно в основном каталоге, куда идут все файлы содержимого, и .svc.

Если SubType не установлен - он делает это выше, но также копирует файл Web.config в подкаталоге bin \, что очень странно! В журнале MsBuild это происходит во время задачи CollectFilesFrom_SourceItemsToCopyToOutputDirectory.

Ответ 6

Для меня это также вызывает проблемы с контролем версий при добавлении новых файлов в проект.

В качестве обходного пути я сделал: отменить ожидающие изменения в файле проекта, а затем вручную добавить новые файлы, щелкнув правой кнопкой мыши → добавить существующие файлы в проект.

При этом тег < SubType >Designer< /SubType > не приходит.

Надеюсь, это кому-нибудь поможет. Отсюда пост это.