Compilazione di pagine con estensione personalizzata (ad esempio .custx) come se fossero file .xaml in Visual Studio
-
20-08-2019 - |
Domanda
In un pacchetto VS (estensibilità di Visual Studio), ho un'estensione personalizzata registrata (per ex " .custx ") con XamlLanguageService, in modo che in Visual Studio quando l'utente apre .custx, si apre in Xaml Designer / editor proprio come un file .xaml.
Comunque quando lo compilo come " Pagina " (BuildAction), gli obiettivi WINFX / errori del compilatore vengono visualizzati con il seguente messaggio di errore.
MySample \ Page1.custx: errore: il file di markup non è valido. Specifica un file di markup di origine con estensione .xaml.
Sto cercando una soluzione, in modo che le pagine .custx vengano compilate come pagina, proprio come le pagine .xaml in un'applicazione WPF
Qualsiasi aiuto è molto apprezzato
Soluzione
Suggerirei semplicemente di riutilizzare l'estensione del file XAML (non c'è modo di aggirare questo controllo nelle destinazioni). C'è un motivo per cui hai bisogno della tua estensione di file?
Altri suggerimenti
La correzione di questo problema è piuttosto semplice. Fondamentalmente sto scommettendo che stai usando un'azione di costruzione personalizzata e la stai impostando con un numero intero come questo:
Proprietà property = projectItem.Properties.Item (" BuildAction "); property.Value = 4; // 0-3 sono riservati, le azioni personalizzate saranno 4 o superiori.
Questi valori interi cambiano per macchina e per tipo di progetto ... Quindi questo errore può essere causato dal ItemType impostato su ApplicationDefinition.
Per risolvere questo problema devi impostare ItemType sulla tua azione personalizzata in questo modo:
projectItem.Properties.Item (" ItemType "). Valore = " MyCustomActionName " ;.
Grazie
-Blake Niemyjski