Come costruire un'applicazione WPF con Add-Type codice C #
-
20-09-2019 - |
Domanda
Ho provato a costruire un'applicazione WPF utilizzando Add-Type, ma è venuto a mancare.
$ A = @ '
utilizzando System.Windows;
public class Programma
{
[STAThread ()]
public static void Main (string [] args)
{
Applicazione app = new Application ();
Window1 w = new Window1 ();
app.Run (w);
}
}
'@
Add-Type -TypeDefinition $ a -UsingNamespace "System.Windows"
di Add-Type documento di aiuto non ha usi di -UsingNamespace (e -ReferencedAssemblies), così io non ben capito ...
Soluzione
Diversi problemi:
$a = @'
using System;
using System.Windows;
public class Program
{
[STAThread()]
public static void Main(string[] args)
{
Application app = new Application();
Window w = new Window();
app.Run(w);
}
}
'@
- Missing "using System;" riferimento per STAThread
- Finestra w = new Window () -. NON Window1
Poi, compilare con:
Add-Type -TypeDefinition $a -ReferencedAssemblies presentationcore, presentationframework, windowsbase
- mancanti refernces montaggio WPF
Infine:
ps> [program]::main(@())
Questa ultima linea funziona solo se si sta utilizzando PowerShell ISE, o aver avviato la versione per console o PowerShell 2.0 con la bandiera -sta.
In definitiva si tratta di un esercizio accademico. È davvero necessario utilizzare un prodotto maturo come PowerBoots (di cui parla l'altro poster). E 'fatto tutto il lavoro duro per voi (grazie Jaykul!)
-Oisin
Altri suggerimenti
Personalmente avrei rinunciare a questo approccio e cercare PowerBoots E 'modulo PowerShell molto potente con facile sintassi e tutte le possibilità di base di WPF disponibili.
C'è molto di più da fare che quello che avete presentato nello script, mi spiace.