Компиляция страниц с пользовательским расширением (например .custx), как если бы они были файлами .xaml в Visual Studio
-
20-08-2019 - |
Вопрос
В пакете 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".
Спасибо
-Блейк Нимийски