Подтвердить что ты не робот

Почему я не могу добавить определенные типы файлов в проекты VS2010?

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

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

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

enter image description here

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

Ответ 3

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

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