Почему я не могу добавить определенные типы файлов в проекты VS2010? - PullRequest
24 голосов
/ 05 апреля 2011

Я пытаюсь добавить WPF ResourceDictionary в проект C #, который был создан некоторое время назад. Первоначально проект не был проектом WPF, но теперь мне нужно включить в него некоторые ресурсы WPF.

Когда я щелкаю правой кнопкой мыши по проекту и выбираю «Добавить», ResourceDictionary не вариант. Даже если я открою модальное диалоговое окно и перейду туда, где должен быть тип ResourceDictionary (наряду с другими типами WPF), он отсутствует.

Кроме того, когда я вручную добавляю файл XAML с синтаксисом ResourceDictionary в проект, я не могу программно загрузить его, используя синтаксис WPF Application.Load (uri), поэтому я чувствую, что VS2010 не позволяет мне добавить файл для причина.

Как я могу сделать мой проект "способным" добавить ResourceDictionary без воссоздания всего проекта с нуля как проекта WPF и повторного добавления каждого файла с нуля?

Кроме того, что определяет типы файлов, которые могут быть добавлены в проекты, чтобы я мог избежать подобных проблем в будущем? Надеюсь, это что-то простое, например, строку, которую мне нужно добавить в мой файл AssemblyInfo.cs.

Ответы [ 3 ]

38 голосов
/ 05 апреля 2011

Закройте проект. Создайте новый проект того типа проекта WPF, который вы бы использовали. Затем откройте новый файл .csproj в блокноте. Найдите элемент ProjectTypeGuids. Скопируйте эти GUID в буфер обмена. Откройте существующий файл .csproj в блокноте. Добавьте эти GUID в элемент ProjectTypeGuids этого файла. (Проверьте на наличие ошибок.) Перезагрузите ваш проект в Visual Studio. Теперь вы сможете добавить все типы файлов WPF.

PS: я не делал этого специально с WPF, но я работал с другими типами проектов, и он работал без проблем.

Я считаю, что GUIDS одинаковы для всех, поэтому значения, которые вам нужны, должны быть: {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ... это должно сэкономить вам шаг при создании нового проекта.

2 голосов
/ 05 апреля 2011

Я думаю, что вам лучше всего создать новый проект WPF и скопировать все подряд. Если это очень большой проект (и вы чувствуете себя авантюрным), вы можете открыть XML файлов проекта (выгрузить проект, а затем отредактировать исходный файл csproj в XML)

enter image description here

Затем скопируйте разделы ItemGroup и убедитесь, что соответствующие исходные файлы существуют в новом каталоге проекта. Удачи!

0 голосов
/ 05 апреля 2011

Попробуйте создать пустой проект WPF, а затем отразить файлы .csproj (они просто в формате XML) для этого и вашего проекта, чтобы увидеть, какие существуют различия - кроме списков файлов и нечетных настроек компилятора, вы вполне можетенайдите GUID или другую запись, которая идентифицирует тип проекта, который вы сможете скопировать / вставить для «обновления» вашего проекта (конечно, после создания резервной копии существующего файла проекта!)

Кроме того, вы можете скопировать и вставить XML-файл / папку (осторожно) между файлами csproj, чтобы быстро «перестроить весь проект с нуля», так что не нужно бояться этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...