Компиляция страниц с пользовательским расширением (например .custx), как если бы они были файлами .xaml в Visual Studio

StackOverflow https://stackoverflow.com/questions/494205

Вопрос

В пакете VS (расширяемость Visual Studio) у меня зарегистрировано пользовательское расширение (например, ".custx") с помощью XamlLanguageService, так что в Visual Studio, когда пользователь открывает .custx, он открывается в Xaml Designer / editor точно так же, как файл .xaml.

Однако, когда я компилирую его как "Страницу" (BuildAction), WINFX выдает ошибки targets / Compiler со следующим сообщением об ошибке.

MySample\Страница 1.custx :ошибка :Файл разметки недопустим.Укажите исходный файл разметки с расширением .xaml.

Я ищу решение, чтобы страницы .custx компилировались как page, точно так же, как страницы .xaml в приложении WPF

Любая помощь будет высоко оценена

Это было полезно?

Решение

Я бы предложил просто повторно использовать расширение файла XAML (нет способа обойти эту проверку в целевых объектах).Есть ли причина, по которой вам нужно ваше собственное расширение файла?

Другие советы

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

Свойство property = ProjectItem.Свойства.Элемент ("BuildAction");свойство.Значение = 4;//0-3 зарезервированы, пользовательских действий будет 4 или больше.

Эти целочисленные значения изменяются для каждой машины и для каждого типа проекта...Таким образом, эта ошибка может быть вызвана тем, что для ItemType установлено значение ApplicationDefinition .

Чтобы устранить эту проблему, вам нужно установить ItemType для вашего пользовательского действия следующим образом:

ProjectItem.Свойства.Элемент ("ItemType").Значение = "MyCustomActionName".

Спасибо

-Блейк Нимийски

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top